- # 2009/02/05(Thu) : Scheme を作ろう 9
- Y Combinator が動くようになった。
未だにコレの原理が理解できてないけど、動いた。
(define Y
(lambda (f)
((lambda (proc)
(f (lambda (arg) ((proc proc) arg))))
(lambda (proc)
(f (lambda (arg) ((proc proc) arg)))))))
(define fact
(lambda (f)
(lambda (n)
(if (= 0 n) 1 (* n (f (- n 1)))))))
((Y fact) 5)
;=> 120



