データ
Lispにおけるデータについて概観する.
Lispは整数,文字列など多くの言語で用いられるデータ型の多くに対応している.これらを評価した結果は自分自身である.例えば整数1を評価した結果は1である.
+はオペレータだが,シンボルとして扱いたいときは特殊オペレータquoteを使用する.
> (quote +) +また,quoteの省略形として引用符がある.
> + NIL > '+ ++と打つと+が評価されその値が表示される.引用符をつけることで(+の評価を抑制し)シンボルとして参照できる.シンボルは入力にかかわらず大文字に変換される.
> 'a A上の例で逆にaに'をつけないと,aは変数として解釈される.
リストは0個以上の任意の型の要素をカッコでくくったものである.Lispプログラムはリストとして表現される.そのためリストは関数呼び出しとして解釈される.関数呼び出しさせない(リストを評価させない)ためにはリストの前に引用符をつける.
[1]> (+ 1 2) 3 [2]> '(+ 1 2) (+ 1 2)空リストは()もしくはnilで表現できる.LispはLISt Processorであるので,Lispにおいてリストは重要であるので,リストについての詳細は別途記述する.
Lispのデフォルトでは真はt,偽はnilというシンボルで表現する.tやnilを評価すると自分自身になる.
[1]> t T [2]> nil NIL返り値が真偽である関数を述語という.Lispでは述語である関数名はpで終ることが多い.述語notは引数の真偽値を逆にする.
[1]> (not nil) T [2]> (not t) NIL