在玩弄实施 FRP 时,我发现令人困惑的一件事是如何处理过去?基本上,我的理解是我可以在任何时候使用 Behavior 来做到这一点:
beh.at(x) // where time x < now
在这样的情况下,这似乎在性能方面可能会出现问题:
val beh = Stepper(0, event) // stepwise behaviour
在这里我们可以看到,要评估过去的行为,我们需要保留所有事件,并且每次采样时我们最终都会执行(最坏的情况下)线性扫描。
我们是否希望这种能力可用,或者应该只允许一次评估行为 >= 现在?我们甚至想将at
函数公开给程序员吗?