Blob


1 (defvar zero
2 (lambda (f)
3 (lambda (x) x)))
4 (defun add-1 (n)
5 (lambda (f)
6 (lambda (x)
7 (funcall f (funcall (funcall n f) x)))))
8 (defvar one
9 (lambda (f)
10 (lambda (x) (funcall f x))))
11 (defvar two
12 (lambda (f)
13 (lambda (x) (funcall f (funcall f x)))))
14 (defun add (a b)
15 (lambda (f)
16 (lambda (x) (funcall (funcall a f) (funcall (funcall b f) x)))))