(use test) ;; ex 2.4 (define (cons x y) (lambda (m) (m x y))) (define (car z) (z (lambda (p q) p))) (define (cdr z) (z (lambda (p q) q))) (test 1 (car (cons 1 2))) ; fails (test 2 (cdr (cons 1 2))) ; fails ;; (cdr (cons 1 2)) ;; (cdr (lambda (m) (m 1 2))) ;; ((lambda (m) (m 1 2)) (lambda (p q) q)) ;; ((lambda (p q) q) 1 2) ;; 2