(define (y f) (lambda ... (apply (f (y f)) ...))) (define (make-fib f) (lambda (n) (if (<= n 0) 1 (+ (f (- n 1)) (f (- n 2)))))) (define fib (y make-fib))
ほんとかよ
gosh> (map fib '(-1 0 1 2 3 4 5 6 7 8 9 10)) (1 1 2 3 5 8 13 21 34 55 89 144)
ほんとだ
もうちょっと勉強が必要。