Exercise 3.52. Consider the sequence of expressions (define sum 0) (define (accum x) (set! sum (+ x sum)) sum) (define seq (stream-map accum (stream-enumerate-interval 1 20))) (define y (stream-filter even? seq)) (define z (stream-filter (lambda (x) (= (remainder x 5) 0)) seq)) (stream-ref y 7) (display-stream z) What is the value of sum after each of the above expressions is evaluated? What is the printed response to evaluating the stream-ref and display-stream expressions? Would these responses differ if we had implemented (delay ) simply as (lambda () ) without using the optimization provided by memo-proc ? Explain. ———————————————————————————————————————————————————————————————————————— The value of sum is 0, then 1 after seq is defined, then 6 after y is defined, 10 after z is defined, 136 after (stream-ref y 7) and finally 210. The stream-ref output is 136 and the display-stream output is 1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 153 171 190 210 Had memoization not been used in the definition of delay, the accum procedure would have been called many more times, and sum would have grown more quickly.