Scheme 手習い 9 章
9 章で終わりかと思ったらそうでもない模様。
全関数、部分関数という用語ははじめて見たのですが、再帰しつつ引数なリストが小さくならない (null? で終わらない) というソレは初めて見ました的実装でした。
この章、全関数やら部分関数から始まって will-stop? という正確に記述できるけど実装できないという驚きの手続きが出てきます。
そして Y-conbinator が出てくるのですが、git://github.com/hanachin/TheLittleSchemer.git を clone して y.scm がテキストのトレイスになってます。
ちょっと今日は無理なのですが、p.169 の
(((lambda (mk-length) (mk-length mk-length)) (lambda (mk-length) (lambda (l) (cond ((null? l) 0) (else (add 1 ((mk-length eternity) (cdr l)))))))) l)
は机上で展開してみたいですね。
あと p.162 以降のソレは別途確認させて頂く方向でご容赦下さい (誰