next up previous contents
Next: エラー処理 Up: 関数の型と評価 Previous: SPECIAL 型

CMACRO 型、MACRO 型

MACRO は SPECIAL と似ており、引数リストが評価されないまま関数に渡され る。MACRO 型関数により一度処理された式はもう一度 evaluator により評価 される。

CMACRO と MACRO の違いは、その関数が C で記述されているか、ユーザ定義 かの違いである。

CMACRO 型の関数としては if、let がある。if や let も確かに関数と言うよ りは制御構造である。if、let は一度 cond 式、lambda 式に変換され、変換 後の cond 式、lambda 式が評価される。

MACRO 型の関数の定義は defmacro を使って行う。defmacro に関しては 「##62>関数定義」を参照されたい。



Riichiro Saito
1995年08月31日(木) 17時10分21秒 JST