続けることにした

length*とweight*のくだりが分からなくてThe Little Schemerを読むのやめようとも思ったが、やめなくてよかったよ!
ざっと目を通したら、この後がアツい内容っぽい。

  • 引数で与えられた関数が停止する関数かどうか判定するwiil-stop?関数を作ってみろよ
  • テメェら関数に名前付けずに再帰してみろよ

とか難題を押し付けてくる。


チューリングマシンの停止問題」ってのを大学時代学んだ記憶があるのだが、前者は関係あるのかな?
後者はLeftcolumn氏からのdefine使用禁止令を受け、lambda、lambdaのオンパレードだ。
さっと眺めただけだから、コードを理解していない。もう一度しっかり読もう。

これは楽しい。


でも、The Little Schemer読み終わったらSeasonedはペンディングしといて、「プログラミングGauche」(id:yagiey:20080321)を読もうと思う。
んでその後SICPへ。
気が向いたら、Seasonedを読もう。

car,cdr,consを使ってリスト操作する所から始まって、再帰高階関数CPS、Yコンビネータの話にまでいっちゃってる。
これはすごいぞ。
でも、これらを知らない人がこの本を楽しめるかどうかは大分疑問。
一歩間違えると、ただQ&A形式で似たような事をずっとやってるだけだと感じてしまうかもしれない。
なんか、この本ってラムダ計算とかSchemeあたりを知ってる人が、先に挙げたような概念はこんなに平易に説明できるのか!すごい!っていう事を見て楽しむ本な気がする。つまり、すでにSchemer(Lisperでもいいけど)であるような人が読んで楽しむ物かと。こういった事を全く知らない状態で読んだら全然面白い本ではないのではないかなあ。てか、何がやりたいんだかわからない気がする。

http://d.hatena.ne.jp/YuichiTanaka/20070209/

なんてこと、ここ最近うすうす感じていた。