Hatena::Groupcsnagoya-sicp

toyoshiのSICP宿題帖

 | 

2009-04-11

2.6 チャーチ数

| 18:32 | はてなブックマーク - 2.6 チャーチ数 - toyoshiのSICP宿題帖

(define zero (lambda (f) (lambda (x) x)))

(define (add-1 n)
  (lambda (f) (lambda (x) (f ((n f) x)))))

(define one
  (lambda (f) (lambda (x) (f x))))

(define two
  (lambda (f) (lambda (x) (f(f x)))))

(define (+ n1 n2)
  (lambda (f) (lambda (x) ((n1 f) ((n2 f) x)))))

加算はできないとおもったけど、add-1は1を足してるってことから、それを変形することでできました。

 |