Next: Up: Previous:

重大な注意: マクロはABCL/fプログラムではない

現在のところ, ABCL/fで提供されているdef-fpp-macrodef-fpp-expandの中に書くことができるのはあくまでLispのプ ログラムであって, ABCL/fのプログラムではない!.

したがって上の2+の定義を見て, 「ABCL/fでは` (backquote)が使える」 などと思ってはならない. また, def-fpp-macroの中でABCL/fdefunで定義された関数を呼んだり, future 呼び出しなどをし てはならない.

現在行なっているのは単に, ABCL/fコンパイラがdef-fpp-macrodef-fpp-expandを発見したらそれを「ほとんどそのまま」 (LispのdefmacroやLispのdefunの形で)Lispに渡し, マクロの呼び出しを発見したら, 再びLispのevalを使って展開を行なっ ているだけである.

これは非常に不完全な機能で, 本来はコンパイラやライブラリを実装するもの だけがこっそり使う機能である.



Mitsubishi Research Institute,Inc.
Thu Feb 27 20:14:12 JST 1997