内容 4.4 Logic Programming · 392
练习 自检推理
Exercise 4.73: Why does flatten-stream
use delay explicitly? What would be wrong with defining it as follows:
(define (flatten-stream stream)
(if (stream-null? stream)
the-empty-stream
(interleave (stream-car stream)
(flatten-stream
(stream-cdr stream)))))
练习 4.73:为什么 flatten-stream 要显式使用 delay?按如下方式定义它会有什么问题?
(define (flatten-stream stream)
(if (stream-null? stream)
the-empty-stream
(interleave (stream-car stream)
(flatten-stream
(stream-cdr stream)))))
SICP source code scheme
(define (flatten-stream stream)
(if (stream-null? stream)
the-empty-stream
(interleave (stream-car stream)
(flatten-stream
(stream-cdr stream))))) 我的笔记 自动保存