最近Clojureに手を出してみようかなぁと思っているので、On Lispを読み返してみた。
- 作者: ポールグレアム,野田開,Paul Graham
- 出版社/メーカー: オーム社
- 発売日: 2007/03
- メディア: 単行本
- 購入: 10人 クリック: 146回
- この商品を含むブログ (128件) を見る
4年間の間で
- Gaucheを触って、forを使わないで再帰で表現することを知ったり
- Gaucheを触っていた頃には気づかなかったけど、それによって参照透明性が確保できることを知ったり
- Haskellを触って、関数型の凄さを知り、モナドは結局理解できないままだったり(あれぇー)
- Rをもっと深く知るようになり、関数をオブジェクトとして普通に扱えるようになり、中身がLispで驚いたり
- NLPをやるようになって、再帰的構造の奥深さを知るようになったり
などなどが変化としてあった。4年も経ってるのか...と考えると成長あんまり早くない気もするけど、前に進んだのは確実だろう。
現状の理解、面白いと思ったところ
On Lisp、まだまだちゃんとは理解できていないが、現状の理解だったり面白いと思ったところを書き出しておこうと思う。
- マクロの凄さ。構文木を直接書き変えることによってできる柔軟さ
- メタプログラミングとはまた違ってくるのかな
- 非決定性。7つの言語 7つの世界でPrologのところを読んでて、「どう解くか」ではなくて、定義を書いたら問題が解けているというのを知って驚いたが、Lispを使ってそれを再現している
- ちなみに7つの言語 7つの世界でPrologがレインマンに例えられている付近は笑ったw
- 最後にオブジェクト指向Lispが紹介されているが、「オブジェクト指向をLispが取り込み始めた」とか書かれているのではなく、「Lispは拡張可能な言語で、その内部でオブジェクト指向が用意に行なえる」というような書き方をしていて、オブジェクト指向を推奨しているのではなく、Lispの柔軟性を示す一つの例として取り上げられていて面白かった