fork download
  1. ;given definitions
  2. (define zero (lambda (f) (lambda (x) x)))
  3. (define (add-1 n)
  4. (lambda (f) (lambda (x) (f ((n f) x)))))
  5. ; exercise 2.6: define one and two directly -
  6. ; not in terms of zero or add-1
  7. (define one
  8. (lambda (f) (lambda (x) (f x))))
  9.  
  10. (define two
  11. (lambda (f) (lambda (x) (f (f x)))))
  12.  
  13. (define (church-plus a b)
  14. ((a (lambda (n) (lambda (f) (lambda (x) (f ((n f) x)))))) b))
  15.  
  16. (define (church->integer a)
  17. ((a add1) 0))
  18.  
  19. (display (church->integer zero))
Runtime error #stdin #stdout 0.03s 4176KB
stdin
Standard input is empty
stdout
Standard output is empty