Plaster
New
List
Login
common-lisp
default
anonymous
2019.10.25 12:48:00
(defvar zero (lambda (f x) x)) (defvar one (lambda (f x) (funcall f x))) (defvar false (lambda (x y) y)) (defvar true (lambda (x y) x)) (defvar is-zero (lambda (x) (funcall x (lambda (y) false) true))) (defvar fif (lambda (bool yes no) (funcall (funcall bool yes no)))) ;; CL-USER> (funcall fif ;; (funcall is-zero zero) ;; (constantly 'yes) ;; (constantly 'no)) ;; YES ;; CL-USER> (funcall fif ;; (funcall is-zero one) ;; (constantly 'yes) ;; (constantly 'no)) ;; NO
Raw
Annotate
Repaste
Edit