_评论者:razum2um_
嗨 Jérémie,Alex 和 Luc,
我是 ap print 的作者,并且很高兴你喜欢我的库 :)
以下是我对此事的看法
1) 我非常喜欢将其推入 tools.trace 的想法。
2) 目前,所有 Clojure contrib 库的补丁接受策略与语言本身相同,对此我早已有所思虑
https://github.com/clojure/clojure/pull/17#issuecomment-53628365。试图理解,如果一个库依赖于另一个库,则后者必须与原始库共享相同的策略,而这并非事实,因为我几乎无法停止接受_PULL_REQUEST。
3) 如果无法更改此策略,我认为“内联”是最好的选择。
现在谈一谈关于“将内联哪些内容”的问题。
4) 我有点惊讶,人们并不像我一样希望将其与 repl 整合,例如
https://github.com/greglook/whidbey, 他们不喜欢颜色,他们只是喜欢布局。所以我们可以丢弃颜色,消除对 clansi 的依赖。或者我可以内联 clansi(有 MIT 许可证),在文档中记录一个 :^dynamic 来打开颜色(默认情况下将关闭)
5) 用于紧凑布局的代码依赖于 jline,因此它肯定不会进入其中:) 因此,这将继续使用 pprint/*print-right-margin* 的默认值,即默认为 72,但这在我个人看来并不是最佳选择,但我们将保留这一点。(或者说,你还在用非常旧的终端运行 clojure 吗?)
6) 我看不出引入一个新的 :^dynamic 对于此目的有什么意义,我建议依赖 pprint/*print-pretty*,如果它是真的 - 使用紧凑布局而不是 pprint 的默认布局
因此
- 我可以填写并签署一个 CA
- 为您准备一个依赖的免费补丁,该补丁仅包括紧凑布局(如果您喜欢,还包括颜色),并由 pprint/*print-pretty* 和 pprint/*print-right-margin* 控制