church number in racket
Start
(define (zero f x) x) (define (suc n) (λ (f x) (f (n f x)))) (define (add n1 n2) (λ (f x) (n1 f (n2 f x)))) (define (λnum->number n) (n (λ (k) (add1 k)) 0))
Play with it
(λnum->number (suc zero)) (λnum->number (suc (suc (suc zero)))) (λnum->number (add (suc (suc (suc zero))) (suc (suc zero))))