次: Eval, 前: Forms, 上: Evaluation
スペシャルフォームquoteは、単一の引数を
評価せずに書かれたとおりに返します。
これは、自己評価型オブジェクトではない
定数シンボルや定数リストをプログラム内に書く手段です。
(数、文字列、ベクトルなどの自己評価型オブジェクトをクォートする必要はない。)
quoteはプログラム内で頻繁に使うので、
Lispには便利な入力構文が用意してあります。
アポストロフ文字(`'')に続けた(入力構文で書いた)Lispオブジェクトは、
先頭要素がquoteであり2番目の要素がそのオブジェクトである
リストに展開されます。
したがって、入力構文'xは、(quote x)の省略形です。
quoteを使った式の例をいくつかあげておきます。
(quote (+ 1 2))
=> (+ 1 2)
(quote foo)
=> foo
'foo
=> foo
''foo
=> (quote foo)
'(quote foo)
=> (quote foo)
['foo]
=> [(quote foo)]
他のクォートの書き方には、function(see Anonymous Functions)が
あります。
これは、Lispで書いた無名ラムダ式をコンパイルするようにします。
また、``'(see Backquote)は、
リストの一部分をクォートし、他の部分は計算結果で置き換えるために使います。