最近 Lisp がお気に入りです。 今日は、Lisp プログラムがリスト (括弧で括られた式) として表記される、という当たり前の事実について、Emacs Lisp をベースにしながら考察してみたいと思います。 関数はリスト、リストは関数 古い Lisp では、関数は第一要素に "lambda" というシンボルを持つ、というだけの単なるリストであったそうです。 新しい Lisp (Scheme や Common Lisp) では「関数」という独立した型になっていますが、Emacs Lisp では今も古い時代の性質を残しているということで、この点を Common Lisp と対比しながら検証してみます。 lambda 式 (関数) を、そのままの形と、二通りのクォート式で括った形、それぞれについてテストします (Meadow 3.00 と GNU CLISP 2.41 を使用しています)。