リストやシンボル(i.e., 数値、文字、ストリング、ベクトル、バッファ等) でない(全 ての)フォームは評価されるとその内部表現になります。 empty リスト `()' の場合は 特別で、これは評価されるとシンボル nil になります。
以下の例では、quote を用い (評価せずに)読み込んだフォームを、明示的に評価する のに eval を用いています。セクション 3.1 [eval]、ページ 23 とセクション 3.3 [quote]、ページ 30 参照。
123 => 123
(eval '123) => 123 (eval (eval '123)) => 123 (eval '[1 2 3]) => [1 2 3]
Lisp が初めての人は、このサブセクションの残りの部分はスキップして下さい。数 値、文字、ストリング、そして(時には)ベクトルは、それらを Lisp コードに含むこと で(普通に)評価は行なえますが、その他の Lisp オブジェクトは、それらを評価するこ とはできますが、めったに評価が行なわれることはありません。例えばバッファは read シンタックスを持たないため、それを評価する唯一の方法はバッファに対する参 照を持つフォームを作りそのフォームを評価することになります。
(setq buf (list 'print (current-buffer))) ; バッファを中に持つリストを作る => (print #<buffer evaluation.texinfo>) (eval buf) -> #<buffer evaluation.texinfo> => #<buffer evaluation.texinfo> (eval (eval buf)) -> #<buffer evaluation.texinfo> => #<buffer evaluation.texinfo>