10 lines
310 B
Common Lisp
10 lines
310 B
Common Lisp
(defun pred (n)
|
|
(flet ((value (v) (lambda (h) (funcall h v)))
|
|
(extract (k) (funcall k (lambda (u) u))))
|
|
(lambda (f x)
|
|
(let ((inc (lambda (g) (value (funcall g f))))
|
|
(const (lambda (u) x)))
|
|
(extract (funcall n inc const))))))
|
|
|
|
(defun minus (m n)
|
|
(funcall n #'pred m))
|