3.5.1. Потоки как задержанные списки
Упражнение 3.52

Значение sum

Рассмотрим последовательность выражений

(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)

Каково значение sum после вычисления каждого из этих выражений? Что печатается при вычислении выражений stream-ref и display-stream? Изменился бы этот результат, если бы мы реализовали (delay <выражение>) просто как (lambda () <выражение>), не применяя оптимизацию через memo-proc? Объясните свой ответ.


Это упражнение еще никто не завершил. Ты будешь первым!


Комментарии отсутствуют.

Необходима авторизация

Вы должны авторизоваться для создания комментария.

Войти