有没有添加Clojure括号的程序?

时间:2012-03-31 04:57:07

标签: syntax clojure syntactic-sugar

当我学习某些语言的Clojure时,语法的可读性和便利性是最重要的问题(也许这是错误的......)。 因此,Clojure对我很有吸引力,但可能有很多括号需要维护 而且我正在考虑是否有一个脚本,我可以用它来编写没有括号的代码,然后将其编译为Clojure,这应该更好。到目前为止这样的程序是否存在? (一旦被告知有Scheme的缩进语法,那很好.Clojure怎么样?)

2 个答案:

答案 0 :(得分:8)

通常您使用编辑器或IDE来为您处理括号。

拥有“彩虹parens”特别有用,即括号被赋予不同的颜色以匹配它们的嵌套级别,因此您可以快速查看它们的排列方式。

一些选项:

  • Eclipse的Counterclockwise插件 - 如果您已经是Eclipse用户,如果您想要混合使用Clojure和Java代码,那就太棒了。
  • Emacs - Lisp程序员的常见选择。有一套非常好的Emacs Clojure工具

请注意,通常,由于它的简洁性,Clojure代码使用比等效Java代码更少的括号

答案 1 :(得分:3)

一旦习惯了parens,它们实际上比Java代码更容易阅读。对可读性更重要的是适当的缩进。任何体面的IDE都会为你纠正一段代码的缩进。

但是,您可能会发现宏执行您想要的操作。例如,线程宏( - >)或..宏。并且您可以为更具体的目的编写自己的宏。

以下是一个例子:

用户=> (str(inc(Integer / parseInt“10”))) “11”

可以改写为 用户=> ( - >“10”Integer / parseInt inc str) “11”

节省两个paren-pair!活泉!

回到你原来的问题,如果你可以用更少的parens编写非模糊的代码用于给定的情况,那么应该可以编写一个宏来将less-parens语法扩展为真正的Clojure。你有一个你想要的例子吗?