2009年11月1日日曜日

LET OVER LAMBDA Edition 1.0

LET OVER LAMBDA Edition 1.0 ダグ・ホイト ISBN4434133632 SIB access

「この世には2種類の言語がある,Common LISPとそれ以外だ!」的な本.マクロとリードマクロを使えば何でもできるぞ,という...言語マニアの口プロレスをそのまま本にしたような感じで,読んでいて痛快ではある.

タイトルの let over lambda は,

(let ((counter 0))
   (lambda () (incf counter)))
のように,letで変数を作っておいて,それを参照する関数を返す構造を指すが,これは,LISP系言語(というか,レキシカルスコープを持つ言語)にとってはごく普通の構造なので,本書の特徴を十分に表してはいないかも.本書の本質はマクロにあるので.このタイトルは省略するとLOL (Laugh out loudly: (笑))になるから選ばれたのだろう.

正直言って,後半全然ついて行けていないが,またCommon LISP使ってみようかな,という気にさせられる.オレオレ機能を簡単につけられる言語は,ソフトウェア工学的に賛成できないのだけど.

ちょっと不思議なのは,C++のテンプレートに関する言及がないこと.Lispのマクロにちょっとでも似たものが他の言語にあるとすれば,C++のテンプレートだと思うのだが.LisperにとってはC++は論外なのだろうか?

LET OVER LAMBDA Edition 1.0
LET OVER LAMBDA Edition 1.0
posted with amazlet at 09.11.01
ダグ ホイト
エスアイビーアクセス
売り上げランキング: 30444

0 件のコメント:

コメントを投稿