Lispのデータ型
- リスト以外はアトム(1つだけ例外あり?p.24).
- NULL型はリストでありシンボルである.
- NULL型のリストは空リスト
()
でNIL
と同値. - NULL型のデータはシンボル
NIL
のみ.- シンボル
NIL
の値もNIL
.
- シンボル
フォームとデータ (p.32)
- Lispはプログラムもデータもリストで表現できるからややこしく見える.
- リストなどの表現をデータとしてではなく,プログラムのつもりで見ている時は,その表現を フォームといって区別する.
- クォートするとデータとして扱われ,Lispによって評価されない.
Lispの評価ルール
- p.37の下線記法ルールは自分でインタプリタを実装する場合に役立ちそう.
関連リンク
- A Micro-Manual for LISP - Not the whole truth by John McCarthy
- A micro-manual for LISP Implemented in C
第3話で出てきた組込み関数
read
—キーボード入力からデータを1つ読み込んでそれを返す関数.入力時にリストをクォートしなくてもread
はデータモードで読み込む.