これは、ストリームが議論されているSICPの3.5章に関するものです。アイデアは次のとおりです。
(cons-stream 1 (display 'hey))
cons-streamの2番目の部分を評価するべきではないので、「hey」を出力するべきではありません。これは実際に発生します。次の出力が得られます。
hey(1。#<promise>)
だから私の結論は、遅延は特別な形として実装されていないということですか?それとも私は何か間違ったことをしていますか?私は次の実装を使用します:
(define (cons-stream a b)
(cons a (delay b)))
遅延がデフォルトのR5RS実装です。これは実装の誤りですか、それとも私はそれを正しく行っていないか、理解していませんか?