kiyokaのブログアーカイブ

Archive of old blog posts

初めての人のためのLISP<増補改訂版> 読了

初めての人のためのLISP<増補改訂版> </a> </h3>

著者: 竹内 郁雄

</div> </div> 深い本。 この分量で、Lispのミクロで見た視点と、マクロで見た視点(俯瞰した視点)の両方を楽しく見せてくれるすばらしい本だ。 マイ処理系を実装しながら読むと、もっとリファクタリングしたくなってくる。 例えば、現在の*[Nendo*]は read eval print loop (通称repl) がRubyで書いてあるのだけど、ちゃんとLispで ``` (loop (write (eval (print)))) ``` というコードにしてしまいたいと思った。 おそらく、少しのリファクタリングで直せるだろうし、プログラムの見通しも良くなりそう。 本書の話に戻ると、本書はどちらかというと、特定のLispについてではなく、過去の歴史的経緯なども踏まえてLispの本質を伝えようとしている。 Common Lispに至る経緯なども知れて良い。 あわせて、今のSchemeを知った上で読むと、SchemeがLispの本質を失わず相当スッキリした仕様になっていることも実感できた。 やっぱり、自分はCommon Lispよりも、Schemeの方が好みであることも再確認。 Lispを使わない人も一読をオススメするぞ。