プログラミングの基礎→Scheme手習い→Scheme修行→SICPの順で関数型を旅しました。
Scheme手習いがSICPを読む前に読む本として勧められているのを見て、修行に関しては言及されてないものの続き物だから、という理由で読みましたが、この本、はっきり言って難しすぎました。SICPの難しい所(4.3 非決定性計算とか)とどっこいぐらいです。
問題なのはその難しさというのが、扱ってる話題の高度さというより、説明の足りなさによるところです。(☆2はそれが理由です。)
本書のスタイルはScheme手習いと同じで、何かを説明する時にはっきり言葉で説明することは一切しません。あえてそういうふうにしているのだそうです。
Scheme手習いの時は入門的な内容だったのでそれでも大体理解出来ましたが、これはほんっとうにキツかった。
まえがきの方に5周しろとか書いてありますが、どれだけの人がこの本に5周分の時間を費やせるのか、と考えたら、実際理解できない前提の本なのではないかという気がします。
実はこの本を詳細に解説したブログが検索で見つかりました。「kb84tkhrのブログ」というブログです。このブログの解説はかなりわかりやすかったです。どうしてもこの本を読みたい場合、このブログを常に参照しながら読むようにしてください。それでも尚理解が覚束ないところがあるぐらい難しい本なので覚悟してください。
一応フォローしておくと、内容自体は結構面白かったです。あまり覚えてないですが、cons, car, cdrをlambdaで作る所とか、ジェネレータを継続で作る所とか、最後のインタプリタを作る所とかが面白かったです。
ただ、正直苦しみの思い出のほうが強いです。
ちなみにSICPの前座としてこの本はまったく不要だと思いました(そもそも誰も必要とは言ってないですが)。
SICPのために継続について学んでおくにしてもScheme手習いの後半+上記「kb84tkhrのブログ」を読んでおけば十分すぎるぐらいだと思います。
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
無料アプリを入手するには、Eメールアドレスを入力してください。
