]> git.rkrishnan.org Git - sicp.git/blob - src/sicp/ex4_33.rkt
Solution to 4.33. This had been difficult to get right, though conceptually it was
[sicp.git] / src / sicp / ex4_33.rkt
1 #lang racket
2
3 (require "eval-4.33.rkt")
4
5 (define env1 (make-environment))
6 (eval '(define (cons a b)
7               (lambda (m) (m a b)))
8            env1)
9 (eval '(define (car z)
10               (z (lambda (a b) a)))
11            env1)
12 (eval '(define (cdr z)
13               (z (lambda (a b) b)))
14            env1)
15
16
17 (force-it (eval '(car (quote (1 2 3))) env1))
18 (force-it (eval '(car (quote (a b c))) env1))