next up previous contents
Next: CMACRO 型、MACRO 型 Up: 関数の型と評価 Previous: SUBR 型、EXPR 型、LAMBDA

SPECIAL 型

SPECIAL 型の場合は、引数は評価されず SPECIAL 型の関数に渡される。その 後各引数が評価されるかどうかは SPECIAL 型の各関数に依存する。

SPECIAL 型の関数の例としては setq や、cond などがある。こうしてみると SPECIAL 型を関数とは呼ばない lisp もあるのもうなずける。

SPECIAL 型の関数はすべて C で記述されており、ユーザが定義することはで きない。SPECIAL 型の動作をする関数を定義したい場合は以下で説明する MACRO 型の関数を defmacro で定義して使う。



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