]> git.rkrishnan.org Git - sicp.git/blob - src/sicp/ex2_80.rkt
Lazy version of evaluator and tests.
[sicp.git] / src / sicp / ex2_80.rkt
1 #lang racket
2
3 (define (=zero? x) (apply-generic '=zero? x))
4
5 (define (install-scheme-number-package)
6   (define (=zero? x)
7     (zero? x))
8   (put '=zero? '(scheme-number) =zero?)
9   'done)
10
11 (define (install-rational-number-package)
12   (define (=zero? r)
13     (zero? (numer r)))
14   (put '=zero? '(rational) =zero?)
15   'done)
16
17 (define (install-complex-number-package)
18   (define (=zero? z)
19     (and (zero? (real-part z))
20          (zero? (imag-part z))))
21   (put '=zero? '(complex) =zero?)
22   'done)
23         
24