SICP問題1.41
受け取った手続きを二回作用させる手続きdoubleの定義
(define (double f) (lambda (x) (f (f x))))
(((double (double double)) inc) 5)はどういう値を返すか?
これは double を 2 回作用させる関数を 2 回作用させるため、(2^2)^2 つまり 引数を 16 回作用させる。よって答えは21となる。
(((double (double double)) inc) 5) ; 21
受け取った手続きを二回作用させる手続きdoubleの定義
(define (double f) (lambda (x) (f (f x))))
(((double (double double)) inc) 5)はどういう値を返すか?
これは double を 2 回作用させる関数を 2 回作用させるため、(2^2)^2 つまり 引数を 16 回作用させる。よって答えは21となる。
(((double (double double)) inc) 5) ; 21