【发布时间】:2015-02-26 02:06:19
【问题描述】:
阅读 FRP(Functional Reactive Programming)与标准命令式方法相比,我对它的直观性和逻辑性感到惊讶;然而有一件事让我感到困惑.. 计算机如何不会立即耗尽内存呢?
根据我从 [here] 收集到的信息,在 FRP 中,值更改的完整历史(过去、现在和未来)是一流时间>。这个概念立即在我脑海中敲响了警钟,说如果它在没有立即从内存中清除过去值的环境中使用,它必须非常快速地消耗你的内存。
阅读 [Fran] 时,我注意到几个示例具有没有终止条件的递归定义函数。如果函数永远不会终止并将其值返回给调用它的函数,它怎么会完成任何事情呢?或者就此而言,它如何在一段时间后不炸毁堆栈?即使是像 Haskell 这样的惰性语言也会在某些时候遇到堆栈溢出。
非常感谢对这些事情的解释,因为它完全让我感到困惑。
【问题讨论】:
标签: haskell memory-management frp