7

SICP 第 3.5.3 章 http://mitpress.mit.edu/sicp/full-text/book/book-ZH-24.html#%_sec_3.5.3

在第 部分,SICP通过反馈循环Streams as signals给出了一个视听解释。Implicit style of definition但我想知道如何准确理解图表?真正的优势是什么,是否有任何背景知识?

再举一个例子,不是在 Scheme 中,而是在 Haskell 中:

fibs = fix (scanl (+) 0 . (1:))
fibs = fix ((0:) . scanl (+) 1)

我们也可以画出两者的信号流图。我们如何利用这些图表?

感谢您的建议和信息!

4

2 回答 2

4

对于图表的真实视听解释,您为什么不看一下随附的视频?他们在这里,讲座 6A 和 6B。

至于图表的“真正优势”,它们是流处理的可视化表示,理解它们不需要“背景知识”,AFAIK 这些图表的符号是 SICP 特质的一部分,通过阅读这本书和观看视频你会知道所有关于它们的知识。

于 2012-04-01T16:44:14.703 回答
1

要在评论中回答您的问题,

Prelude> let bs = 1:map (\n-> sum $ take (n+1) bs) ( map (`div`2) [1..])
Prelude> take 20 bs
[1,1,2,2,4,4,6,6,10,10,14,14,20,20,26,26,36,36,46,46]

Prelude> let as = 1:1:g 2 (drop 2 as) where g x ~(a:b) = x:x:g(x+a)b
Prelude> take 20 as
[1,1,2,2,4,4,6,6,10,10,14,14,20,20,26,26,36,36,46,46]

Prelude> take 20 $ map (\n-> sum $ take (n+1) as) $ map (`div`2) [0..]
[1,1,2,2,4,4,6,6,10,10,14,14,20,20,26,26,36,36,46,46]
于 2013-01-13T00:12:14.393 回答