预定学习如何编写Clojure/Lisp宏

Chi*_*ron 6 lisp clojure jvm-languages

我正在阅读"Programming Clojure",我对一本讨论如何尽可能广泛地创建宏的书感兴趣.

你为此推荐一本书吗?

谢谢.

Isa*_*aac 8

关于Lisp宏的典型书可能是Paul Graham的On Lisp.虽然它使用了Common Lisp,但如果您真正想要查看它的宏,这并不重要,尽管Clojure在很多层次上都有所不同.(Clojure是一个Lisp-1,开头.)

  • +1.除了"On Lisp"之外,我还建议阅读有关Scheme的卫生宏,Lisp-1 vs Lisp-2以及如何使用命名空间限定符号以智能方式解决Clojure邮件列表帖子. (5认同)

Der*_*urk 5

虽然他们都是针对Common Lisp,但两本伟大的书籍是Paul Graham的On Lisp(他的网站上免费提供全书)和Doug Hoyte的Let Over Lambda.

在两个On Lisp中更容易访问; 尽管Clojure宏是IIRC更类似于Scheme的卫生宏,但你几乎肯定会从中学到一些东西.