![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Evaluation Order and Infinite Lists - slide 23 : 27 |
We can work with lists of infinite length by delaying the evaluation of every list tail using delay
As an invariant, every list tail will be delayed
(cons-stream a b) ~ (cons a (delay b)) (define head car) (define (tail stream) (force (cdr stream))) (define empty-stream? null?) (define the-empty-stream '())
The functions mentioned above are taken from the book
Structure and Interpretation of Computer Programs