ヨーロッパの若者はDVDを買えないだろ。大人でもほとんど買えないんじゃないかというか、ごく少ない富裕層が山ほど買うことで支えている市場なんだろうか。USへ行くと普通に売っている($26.99)。リージョンも今はほとんどフリーなんだな。日本とかUSは文化的に平坦な印象があるが、価格的にもそのとおりなようだ。USでオペラを買いまくろうとしたらヴェルディだらけになった。送料のこともあるのでバランスを取ろうとネトブレコのボエームを買おうとしたら、存在しない。[DVD]日本では予約可能でUKでは売っている(たいして値段は変わらない)。いうこともあるんだな。LAMBDAが届いたので読み始めたらめっぽうおもしろい。著者は、『はじめに』の時点から突っ走る。知性を持つプログラマが、いったんプログラミング行為を論理的手続きと考え始めれば、その手続きの論理的な次のステップは、自動化そのもので利益を享受することである。結局、プログラマはまさにこの自動化工程を遂行すべく訓練される。そのためにはLispだしマクロだと主張する。いうのは、メタプログラミングは、すべてのプログラミング言語で多かれ少なかれ採用されている。Lispほどそれを徹底して取り入れた言語は他にない。他のどんな言語も、メタプログラミングテクニックに都合の良いコーディングをプログラマに要求したりはしない。非LispプログラマからはLispプログラムが奇天烈に見えてしまう。Lispコードがどう表現されるかは、Lispのメタプログラミングの要求から来る直接の帰結なのである。Lispコードそれ自体にある。この本は、Lispのマクロの本だが、「はじめに」で大上段に構えているように、プログラムコードをプログラムすること、つまり自動化、メタプログラミング、言語内DSLの考え方の本としても読める。その点と、その薄さ(本文だけなら300ページ弱)から、実のところ、この本を本当に読むべきは、一番層が厚いわりには中級者あたりのところで止まっている人が多そうな言語、つまりJavaに熟練したプログラマとかではないかな、とも思える。言語)))くらいしか、知らなければ、そもそも読みようがない。それに、たぶん、その後もLispを使い続けることもないのではなかろうか。すれば、この本を読むために、Lispの入門書を頭から読んだりするのは時間が無駄だろう。記法については、適当に探せばいくらでも見つかるわけだから、Lispのコードとはどういうもので、なぜそれが「メタプログラミングテクニックに都合の良いコーディング」なのかを押さえておけば良いのではないだろうか。いうわけで、Lispがどういう言語かについて解説する。Processingという名前の通り、リストを操作するための言語で、プログラム自体がリストで構成される。リストとは、要素の繋がりのことだ。その要素を格納するために、コンスセルを利用する。Javaで実装するとすれば、以下のようになる。}}今、3要素、0,1,2を持つリストを作るとする。すると、以下のようになる。}}System.out.println(")");各コンンスセルは、cdrフィールドで連結される。最後のコンスセルのcdrはnullなのでそこがリストの終端となる。このように、リストは、0個以上のコンスセルから構成される。ここで、0個以上というのは重要で、特に0個のリスト(空リスト)をNILと呼ぶ。リストを構成するコンスセルに対して、それ以外をアトム(原子のこと。それそのものでしかない)と呼ぶ。上の例では、1とか2とか3はアトムだ。