「プログラミングClojure」を読んでいて、マクロをできるだけ広範囲に作成する方法を説明している本に興味があります。
このための本を提案しますか?
ありがとう。
「プログラミングClojure」を読んでいて、マクロをできるだけ広範囲に作成する方法を説明している本に興味があります。
このための本を提案しますか?
ありがとう。
Lispマクロに関する典型的な本は、おそらくPaulGrahamのOnLispです。Common Lispを使用していましたが、Clojureはいくつかのレベルで異なりますが、実際にマクロを見たい場合はそれほど重要ではありません。(そもそもClojureはLisp-1です。)
「PracticalCommonLisp」という本は、Lispマクロを非常に明確に説明しています。Clojureのマクロは、Common Lispのマクロと十分に類似しているため、学習した内容のほとんどすべてが引き継がれます。「LetOverLambda」は、楽しく、面白く、創造的な作品ですが、Lispマクロの使用方法は、最も真面目で経験豊富な実用的なLispプログラマーが使用する方法とは大きく異なります。「アナモルフィック」マクロ(特定の変数名を「知っている」)の使用はお勧めしません。
ManningのEarlyAccessProgramから入手できるMichaelFogusの次の本TheJoyof Clojureには、マクロに関する優れた章があります。これは、関数型プログラミングの背後にある考え方と、Clojureの機能(最新の1.2の変更を含む)がどのように実装されているのかを説明する優れた本です。
マクロの章では、Clojureでのマクロの次のユースケース、それらの実装方法、およびマクロの処理方法について説明します。
フォームを組み合わせた制御構造の定義フォームの
変更フォームを
返すフォームの
制御シンボリック解決時間
管理リソース
これは正確には汎用のマクロ作成本ではありませんが、AMOPは、ライブラリ/フレームワークの「ビュー」レイヤーとしてマクロを使用する方法を示しています。
(うーん、私はこれを説明するのにあまり良い仕事をしていません。AMOPは一種の分類に反する本です!)