【发布时间】:2012-03-20 13:47:51
【问题描述】:
在尝试实施 FRP 时,我发现一件令人困惑的事情是: 与过去做些什么?基本上,我的理解是我可以在任何时候使用 Behavior 来做到这一点:
beh.at(x) // where time x < now
在这样的情况下,这似乎可能会给性能带来问题:
val beh = Stepper(0, event) // stepwise behaviour
在这里我们可以看到,要评估过去的行为,我们需要保留所有事件,并且每次采样时最终都会执行(最坏的情况下)线性扫描。
我们是否希望这种能力可用,或者应该只允许一次评估行为 >= 现在?我们甚至想向程序员公开at 函数吗?
【问题讨论】:
-
为什么这个标签是 Haskell 但使用的是 Scala 语法?毕竟,我认为这个问题与语言无关:-)
标签: haskell programming-languages functional-programming semantics frp