Keep on moving

あんまりまとまってないことを書きますよ

で、Church数

案の定よくわかんないよ><。
試しに動かそうとしてもクロージャが帰って来てどうにもよくわかんない。
しょうがないのでWebの情報を漁る。
404 Blog Not Found:TuringとChurchの狭間で,http://www.csus4.net/hiki/SICPReading/?%BA%B4%CC%EE,http://www23.atwiki.jp/selflearn/pages/16.html#id_e78ae615とかを調べてようやく手も足も出ない状態を抜けてきた。

(define zero (lambda (f) (lambda (x) x)))
(define (add-1 n) (lambda (f) (lambda (x) (f ((n f) x)))))
(define (inc n) (+ n 1)) 
(define one  (lambda (f) (lambda (x) (f x))))
(define two  (lambda (f) (lambda (x) (f (f x)))))
(define (c-add a b)
  (lambda (f) 
    (lambda (x) 
      ((a f) ((b f) x)))))

でも確かにこれ何に使うのかよくわかんないです。写像から「正の数」が作れるってなかなか面白い概念ではあるけど。