立即从accumB获取更新

时间:2015-12-04 19:55:16

标签: haskell frp reactive-banana

accumB的文档说:

  

注意:与步进器一样,行为的值会稍微改变   后"事件发生了。这允许递归定义。

在我的情况下,没有递归,但我希望立即获得更新"而不是"稍后"。为什么没有accumB的特殊版本?我想,我错过了一些明显的东西?

编辑:在我的应用程序中,我有data Config,其中包含各种配置值和一堆Event (Config -> Config),当用户更改GUI中的某些值时会触发这些值。现在,我希望我的程序的其他部分可以随时访问Config,这就是我在那里使用Behavior Config的原因。问题是,当触发更改事件时,行为仍具有Config的旧值,因此我无法立即观察到此更改。

1 个答案:

答案 0 :(得分:1)

如果您有Behavior Conf,那么您可以通过Applicative类组合器从中制作其他行为。例如,可能是您将其转换为Behavior String,然后显示在文本字段中。将行为提供给此类UI窗口小部件后,窗口小部件代码可确保显示行为的 new 值。

如果您需要明确指示配置何时发生变化,那么Event Conf可能更合适。您可以使用accumE函数,它将包含 new 值。