第一章も遂に最後のページで、あとは問題を残すのみ。今日中におわれるか?
問題解答
問1.42
(define (inc x) (+ x 1)) (define (square x) (* x x)) (define (compose f g) (lambda(x) (f (g x)))) ((compose square inc) 6)
問1.43
(define (repeated f n) (define (it i) (if (= i 1) (lambda(x) (f x)) (lambda(x) (f ((it (- n 1)) x))))) (it n)) ((repeated square 2) 5)
ヒントにある compose を使っていない&無駄な it を定義していた。回答では以下のようになっていた。
(define (repeated f n) (if (= n 0) (lambda(x) x) (compose f (repeated f (- n 1))))) ((repeated square 2) 5)
問1.44
(define (n-fold-smooth f n) ((repeated smooth n) f))
今日はここまで。最後の二問は明日に持ち越し。