_评论者:razum2um_
嗨 Jérémie,Alex和Luc,
我是aprint的作者,很高兴你们喜欢我的库 :)
关于它的想法如下:
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* 控制