6
A
回答
8
關於Lisp宏的典型書可能是Paul Graham的On Lisp。不過,它使用了Common Lisp,但如果你真的想看看它的宏,這並不重要,儘管Clojure在多個層次上是不同的。 (Clojure是一個Lisp-1,開頭。)
5
雖然他們倆都旨在Common Lisp的,因爲這兩個偉大的書Lisp上由保羅·格雷厄姆(全書可以免費在網上his website)和Let Over Lambda由Doug霍伊特。
這兩個On Lisp更方便;即使Clojure宏IIRC更類似於Scheme的衛生宏,但您幾乎肯定會從中學到一些東西。
0
這不完全是一個通用的宏寫作書,但AMOP演示瞭如何使用宏作爲庫/框架的'視圖'層。
(嗯,我不這樣做了很好的工作說明這一點。AMOP是一本書,一種蔑視的分類!)
3
書「實用的Common Lisp」解釋Lisp的宏很清楚。 Clojure的宏與Common Lisp的宏相似,幾乎所有你會學到的東西都會繼續。 「Let Over Lambda」是一個有趣,有趣和創造性的工作,它使用Lisp宏和他們被大多數認真,經驗豐富,實用的Lisp編程人員使用的方式截然不同。我不建議使用「變形」宏(即「知道」特定變量名稱)。
4
邁克爾福格斯的即將出版的書The Joy of Clojure,可通過曼寧的早期使用計劃獲得,在宏觀方面有着不錯的篇章。這是一本很好的書,解釋功能性編程背後的思想,不僅如何,還有Clojure的功能(包括最新的1.2版本變更)如何按照它們的方式實現。
上宏的這一章解釋了Clojure中,如何才能實現宏的以下案例,以及如何處理它們:
定義控制結構
相結合的形式
改變形式
返回形成
控制象徵性的解決問題的時間
管理資源
相關問題
- 1. 本書學習Winforms控件
- 2. 本書學習ASP.NET MVC3
- 3. 如何學習編寫項目規格?
- 4. 如何學習DirectShow編程?
- 5. 讀一本書來學習Linux內核
- 6. 從On Lisp學習宏中的宏
- 7. 找一本書來學習面向對象的編程
- 8. 要學習的書WM6
- 9. 使用舊書學習Java
- 10. 學習在hyperclger上編寫Chaincode
- 11. 小項目學習編寫JavaScript代碼
- 12. 學習編寫自定義iPhone UI
- 13. 學習編寫PHP表單框架
- 14. PHP開發人員正在學習RoR。我應該學習爲Rails 2.0.2編寫的電子書嗎?
- 15. 從一本書學習Python,我不能debbug這個練習
- 16. 是否有任何文件學習使用win32com編碼excel宏?
- 17. 數學,編程和學習
- 18. 學習版本控制,並學習它
- 19. 學習如何編寫Facebook應用程序的先決條件
- 20. 如何編寫一個web框架作爲學習體驗
- 21. 什麼是學習如何編寫API的好方法?
- 22. 如何使用學習參數編寫自定義MXNet層
- 23. 學習如何編寫複雜的存儲過程
- 24. Objective C - 如何編寫宏
- 25. 如何編寫(簡單)宏?
- 26. 如何爲Notepad ++編寫宏?
- 27. 學習MIPS彙編:讀取文本並寫入文件
- 28. 學習Uboot編程
- 29. 學習MIPS彙編
- 30. 學習計劃宏。幫我寫一個定義語法規則
+1。除了「On Lisp」之外,我還會推薦閱讀關於Scheme的衛生宏,Lisp-1和Lisp-2,以及如何使用命名空間限定符號以聰明的方式解決衛生問題的Clojure郵件列表帖子。 – 2010-08-26 11:24:43
+1對於On Lisp和Let Lambda:On Lisp是Lisp必讀的內容,而讓Lambda幾乎完全專注於宏觀嚮導,並且提供了一些非常有趣的想法。我建議先閱讀On Lisp,然後再閱讀Lambda。 – 2011-11-04 10:48:16