2010/04/29

読んだ「LET OVER LAMBDA Edition 1.0」

やっとLET OVER LAMBDA Edition 1.0を読み終わりました。読み終わっただけで読みこなしていません。コードもほとんど書いていません。まずは7章に必要な分から優先して書いて、7章のForthが動かせるようにしてみたいです。

この本はCommon Lispのマクロの本です。現時点での感想をざっくりと書いてみます。
  • 「schemeの方が好き」 → 「Common Lisp も良いな」と思うようになった
  • むしろ、もっとCommon Lispをやってみたいと思うようになった
  • nil関連がすごく良い
  • Common Lispのコードが読めるようになった
  • 依然Lisp-2よりLisp-1が好きかも
  • 依然ループより再帰が好き
  • 副作用はやっぱり気持ち悪い(なぜか非S式だとそういうことは思わない)
  • マクロに対する抵抗が減った
  • マクロに対する抵抗は減ったが思っていた以上に難しい
  • マクロがある程度読めるようになった
  • マクロにもいろいろあることを知った(リーダーマクロ、コンパイラマクロ・・・)
  • マクロが書ける(ようになれる)気がしてきた
  • マクロすぅぅぅげぇぇぇぇ
  • 書いてみると書けない
  • 書かないと書けるようにはならないだろうと思う
  • マクロが具体的にどう便利で強力なのか見せてもらえた
  • Common Lispの伝統的なマクロを読んでいたらSchemeのdefine-syntaxも読めるよになった
  • 知っているつもりだったクロージャのパワーはまだまだそんなもんじゃなかった
  • 今ならOn Lispが読めるような気がする
著者がすごくCommon Lisp信者です。いたるところで「Lisp最強!!」と仰っています(副音声ですが)。この辺は気をつけて読んだ方が良いと思います。

Lisp/Scheme関連の積読がたくさんあります。次はSICPの続きをやるか、On Lispを読むか、Schemerシリーズの続きを読むか・・・。


LET OVER LAMBDA Edition 1.0On Lisp

2 件のコメント:

  1. lisp勉強されてますね。最近 common lisp で40行くらいのプログラムを書いてその使いやすさに驚いています。ネット上にリファレンスがないかと探していたらここにたどり着きました。とりあえずリファレンスはGuy Steel Jrの common lisp 第2版を注文しようと思ってます。こちらも勉強が進んだら9lispに行くかもしれません。その時はよろしくお願いします。

    返信削除
  2. > Guy Steel Jrの common lisp 第2版
    確かこの仕様は一つ前の仕様だったかと思います。だからと言って最新の仕様書が書籍として発売されているかどうかは存じません。。

    Web上であれば以下のものが最新であると思われます。

    ANSI Common Lisp http://www.franz.com/support/documentation/8.1/ansicl/ansicl.htm

    Common Lisp HyperSpec (TM) http://www.lispworks.com/documentation/HyperSpec/Front/index.htm

    ANSI Common Lisp の仕様書を HTML Help にした - てっく煮ブログ http://d.hatena.ne.jp/nitoyon/20090203/ansicl_chm

    返信削除