next up previous
Next: 12.1.1 評価をせずに引用するためのスペシャルフォーム quote Up: 12 スペシャルフォーム Previous: 12 スペシャルフォーム

12.1 special-form-p関数

スペシャルフォームかどうかを調べる special-form-pが用意されています.
<cl> (special-form-p 'car)

NIL
<cl> (special-form-p 'if)

#<function object IF (a special) @ #x3be116>

<cl> (special-form-p 'and)

#<function object AND (a special) @ #x3be13e>

<cl> (special-form-p 'cond)

#<function object COND (a special) @ #x3be1b6>

<cl> (special-form-p 'setq)
#<function object SETQ (a special) @ #x3be206>
<cl> (special-form-p 'set)
NIL
<cl> (setq x 10)
10
<cl> (set 'x 10)
10
cond は Common Lispではスペシャルフォームではなく,マク ロで定義するという仕様になっていますが,aclでは,スペシャルフォームと して定義しています. setqは第一引数にくる変数を評価しないためにスペシャルフォームとして 定義されています.第一引数を評価するものとして set 関数があります. 同様にスペシャルフォームではないですが,第一引数に変数だけでなく, 配列の要素などを指定できるsetfマクロもあります.



generated through LaTeX2HTML. M.Inaba 平成18年5月7日