8
這是關於SICP的第3.5章,其中正在討論流。這個想法是:Scheme,SICP,R5RS,爲什麼延遲不是特殊形式?
(cons-stream 1 (display 'hey))
不應該評估cons-stream的第二部分,所以它不應該打印「嘿」。這確實發生了,我得到下面的輸出:
哎(1#<承諾>)
所以我的結論是,延遲不是作爲一種特殊的形式來實現?或者我做錯了什麼?我使用以下實現:
(define (cons-stream a b)
(cons a (delay b)))
延遲是默認的R5RS實現。這是實施過程中的錯誤,還是我沒有做或理解不正確?
謝謝!但是,我將如何創建一個能夠以書中方式工作的cons-stream? – KnowsLittle 2011-04-10 08:16:46
添加到答案。 – 2011-04-10 08:18:13