Упрощенная версия stream-flatmap
Лиза П. Хакер предлагает использовать упрощенную версию
stream-flatmap
в
negate
,
lisp-value
и
find-assertions
. Она замечает, что в этих случаях процедура, которая отображает поток кадров, всегда порождает либо пустой поток, либо поток из одного элемента, и поэтому при слиянии этих потоков незачем использовать чередование.
а. Заполните пропущенные выражения в программе Лизы.
(define (simple-stream-flatmap proc s)
(simple-flatten (stream-map proc s)))
(define (simple-flatten stream)
(stream-map <??>
(stream-filter <??> stream)))
б. Если мы изменяем систему таким образом, меняется ли ее поведение?
Комментарии отсутствуют.