2008-03-29から1日間の記事一覧

よーしパパ、関数に名前を付けずに再帰させちゃうぞぉ!(その4)

length0_4で使われているlengthは、mk-lengthであっても一向に構わないそうだ。 ということで、今後はこれをlength0_4とする。 (define length0_4 ((lambda (mk-length) ; (*1) (mk-length mk-length)) (lambda (mk-length) ; (*2) (lambda (l) (cond ((null…

よーしパパ、関数に名前を付けずに再帰させちゃうぞぉ!(その5)

「mk-lengthを任意の関数に永遠に適用し続ける必要がないよ」的な素振りを見せつつ、このままじゃ何も状況は変わらなくね? length0_4の要領でlength1_4とlength2_4を書くと (define length1_4 ((lambda (mk-length) (mk-length (mk-length mk-length))) (la…

脳内変換

((lambda (f) (f f)) hoge) から (hoge hoge) へ、スムーズに脳内変換できない。 ((lambda (n) (+ n 1)) 5) から (+ 5 1) へはすぐ変換できるのに。 なかなか高階関数に慣れない。