]> git.rkrishnan.org Git - sicp.git/blob - src/sicp/ex2_89.rkt
Lazy version of evaluator and tests.
[sicp.git] / src / sicp / ex2_89.rkt
1 #lang racket
2
3 (define (adjoin-term term term-list) 
4   (cons (coeff term) term-list))
5
6 (define (the-empty-termlist) '())
7
8 (define (first-term term-list)
9   (let ((len (length term-list)))
10     (make-term (- len 1) (car term-list))))
11
12 (define (rest-terms term-list) (cdr term-list))
13 (define (empty-termlist? term-list) (null? term-list))
14
15 (define (make-term order coeff) (list order coeff)
16 (define (order term) (car term))
17 (define (coeff term) (cadr term))