ヤドカリ自習室(第二倉庫)

 | 

2009-11-17

コンビネータメモ 16:01

http://practical-scheme.net/chaton/haskell-ja/a/2009/11/17#entry-4b023df0-32385 より

pfc> (define (m x) (x x))
m
pfc> (define (c f x y) (f y x))
c
pfc> (define (b f g x) (f (g x)))
b
pfc> (define (s f g x) (f x (g x)))
s
pfc> (define l (c b m))
l
pfc> (define y (s l l))
y
pfc> (define fib (y (lambda (f n) (if (< n 2) n (+ (f (- n 1)) (f (- n 2)))))))        
fib
pfc> (fib 10)
55
 |