Lesson Plan - 6.001 FT04 - recitation 23 lazy evaluation and streams (define zeros (cons-stream 0 zeros))} (define ones (cons-stream 1 ones)) (define ints (cons-stream 1 (add-streams ones ints))) (define (map2-stream op s1 s2) (cons-stream (op (stream-car s1) (stream-car s2)) (map2-stream op (stream-cdr s1) (stream-cdr s2)))) (define (scale-stream x s) (cons-stream (* x (stream-car s)) (scale-stream x (stream-cdr s)))) (define facts (cons-stream 1 (mul-streams ints facts))) (define two-x-plus-five (cons-stream 5 (cons-stream 2 zeros))) (define e-to-the-x (div-streams ones facts)) (define (integrate-series s) (div-streams s ints)) (define e-to-the-x (cons-stream 1 (integrate-series e-to-the-x))) (define sine (cons-stream 0 (integrate-series cosine))) (define cosine (cons-stream 1 (scale-stream -1 (integrate-series sine)))) (define (mul-series s1 s2) (cons-stream (* (stream-car s1) (stream-car s2)) (add-streams (scale-stream (stream-car s1) (stream-cdr s2)) (mul-series (stream-cdr s1) s2))))