(defvar *pair* (lambda (x) (lambda (y) (lambda (z) (funcall (funcall z x) y))))) (defvar *first* (lambda (p) (funcall p (lambda (x) (lambda (y) x))))) (defvar *second* (lambda (p) (funcall p (lambda (x) (lambda (y) y))))) ;; SQLITE> (funcall *first* (funcall (funcall *pair* 1) 2)) ;; 1 ;; SQLITE> (funcall *second* (funcall (funcall *pair* 1) 2)) ;; 2