3.52 Exercise 3.52
> (define sum 0) > sum 0
Forced so far: None.
> (define (accum x) (set! sum (+ x sum)) sum) > sum 0
Forced so far: None.
> (define seq (stream-map accum (stream-enumerate-interval 1 20))) > sum 1
Forced so far: 1.
> (define y (stream-filter even? seq)) > sum 6
Forced so far: 1, 2, 3.
> (define z (stream-filter (lambda (x) (= (remainder x 5) 0)) seq)) > sum 10
Forced so far: 1, 2, 3, 4.
> (stream-ref y 7) 136
> sum 136
Forced so far: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16.
> (display-stream z)
10
15
45
55
105
120
190
210
'done
> sum 210
Forced so far: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20.