Reactive-Banana中溢出功能的事件处理顺序是什么?

lla*_*and 6 haskell frp reactive-banana

我对此进行了测试,似乎事件处理的顺序与源事件中列表的顺序相同.我不认为我可以依赖这个,因为文档只说明:

发出同时发生的事件.严格要求,我们有泄漏.collect = id

如何使用以下规范创建类似于溢出的函数:

发出顺序事件发生,保证在第一个和最后一个之间不会触发其他事件

或者我应该尝试不同的方法?我正在尝试在Reactive-Banana中实现宏功能

Hei*_*mus 3

(我是reactive-banana 的作者。)

看起来事件处理的顺序与源事件中列表的顺序相同。

这是正确的,您可以信赖这一点。事实上,它或多或少是从等式得出的spill . collect = id。毕竟,要产生恒等映射,必须保留事件在列表中spill的顺序。collect

此外,您可以检查模块的源代码Reactive.Banana.ModelReactive.Banana.Internal.Model版本 0.5)和Reactive.Banana.Combinators. 总而言之,它们给出了权威的模型实现。您可以直接检查spill行为如何。(尽管这可能有点令人困惑,因为该模型是由两部分构建的。)

尽管如此,我还是要在文档中添加几句话。