Go to the first, previous, next, last section, table of contents.

マクロ呼び出し

フォームがリストで、そのリストの最初の要素が (直接であれ間接であれ)マクロであ る場合、このフォームはマクロ呼び出しと呼ばれます。

マクロ呼び出しを評価すると、その(訳注:マクロ呼び出しの)リストの残りの未評価の (訳注:unevaluated)要素がマクロの formal アーギュメントにバインドされ、マクロ の本体が評価されます。マクロは (結果として)マクロ展開と呼ばれるフォームを新し く返し、そのフォームが評価されることになります。マクロ展開は評価されるため、マ クロ展開がリストでそのリストの最初の要素がマクロであると、そのリストの評価は別 のマクロ展開を作ることになります。このリカーシブなマクロ展開は max-lisp-eval-depth まで繰り返すことができます。

マクロが呼び出される時、アーギュメントは評価されない点と、評価するためのフォー ムを作る際、アーギュメントを評価する場合と評価しない場合とがありうる点に注意し なくてはいけません。チャプター 11 [マクロ]、ページ 91 参照。


Go to the first, previous, next, last section, table of contents.