Lisp本積読解消: Common Lisp Programming for Artificial Intelligence 6.2 Macros — #:g1

Posted 2017-02-20 21:03:26 GMT

今回は、Common Lisp Programming for Artificial Intelligenceのマクロの解説の箇所を読む。
1989年出版の本で、2010年にAmazonで¥550位で購入

内容は年代と題名から察せられるように、GOFAIな本で、Common Lispを解説しつつも本題はAIという本。

6.2 Macros

マクロの説明としては、それ程詳しくはないが、評価機がどのようにマクロを扱うか、という視点で説明しているのは、面白いと思った。

評価機の視点で、通常の関数とマクロを比較し、なんとなく使い方を理解させるという戦略だろうか。

それが済むと、早速バッククォートを利用した簡単なマクロの作成方法を解説し終了。

基本的にコード生成の説明に近いと思った。

マクロ書法、作成上の注意点、macroletについての説明などは無し。

気になった所

マクロのユースケースとして、高速化が挙げられているが、やはりこの時代はこういうのが多かったのだろうか。この辺りに古さを感じる。

また、練習問題で作成させるマクロが、関数として実装した方が適切な物が多く、マクロである必然性に乏しいため、あまり適切な問題ではないなあという感想。


HTML generated by 3bmd in LispWorks 7.0.0

comments powered by Disqus