Lisp本積読解消: Common LISPcraft 13. Macros / 14. Macro Characters — #:g1

Posted 2017-02-18 19:38:37 GMT

今回は、Common LISPcraftのマクロの箇所を読む。
2009年位に600円位で購入。
出版は、1984年(第二版1986年)で、時代的にCommon Lispの仕様は、CLtL1。
なお、邦訳はされていない。

Common LISPcraftの前に、LISPcraftというFranz Lispを対象にした本が、同じくWilensky氏によって書かれていて、それのCommon Lisp版ということで、Common LISPcraftという題名になっている。
しかし、題名は引き継いでいるものの殆ど新規に書下したように見える。

Chap. 13 Macros

アクセサの別名を作る所から始まって、マクロ展開の解説、setf系マクロの定義の方法など、割合に網羅的に解説されている。
解説は丁寧だが、古い方言や書法の話が入ったりしているので、ちょっと古さを感じてしまう。
バッククォートや、macroletの解説はなし。

Chap. 14 Macro Characters

リーダーマクロの解説。通常のマクロ文字の解説の後、バッククォートの説明があり、次にディスパッチ・マクロ文字の解説がされる。
解説は、かなり丁寧で、これ程丁寧にリーダーマクロの基本を解説している本は無かったような気がする。

バッククォートの解説の後、13章では導入しなかったバッククォートを利用してマクロを書くことが解説される。 この辺りの流れは、どうやら前回眺めたArtificial Intelligence Programmingに影響を受けているようで、解説している内容も割と似ている(がこちらの方が簡素)。

ちなみに、13章のマクロのネタにも、Artificial Intelligence Programmingのネタが使われている。

結び

この本は基本的なスタンスとして機能は網羅的に解説するように思えた。

網羅的に解説しつつも取って付けたような感じはしないので、解説が上手いのかなあと思ったりするが、例題にCommon Lispより前の古えのLisp方言の機能を真似るようなものが多く、ちょっと古臭いのが残念。


HTML generated by 3bmd in LispWorks 7.0.0

comments powered by Disqus