reactive-banana

    2热度

    1回答

    在FRP文献中是否存在Latch和Pulse类型,还是他们是反应性香蕉作者的发明? 只要看看类型,它们大致对应于行为和事件(分别),但我想知道它们的区别是什么,以及它们的实现是基于任何正式的研究。 谢谢!

    10热度

    3回答

    由于钠已被作者deprecated我试图将我的代码移植到反应香蕉。然而,两者之间似乎有些不协调,我很难过度。 例如,钠很容易检索行为的当前值: retrieve :: Behaviour a -> IO a retrieve b = sync $ sample b 我不明白如何在无功香蕉 (我想之所以这样做这是因为我想要的行为导出为DBUS财产属性可以从其他DBUS客户查询) 编辑:代替“民

    4热度

    1回答

    我正在阅读Conal Elliot的论文"Declarative Event-Oriented Programming",其中的例子是使用现在已经过时的Fran库编写的。 当我学习FRP时,我试着用反应式香蕉来实现这些例子。我似乎没有这个问题(但必须认为很多 :))。唯一我不明白的是如何正确翻译Fran的ifB。 它似乎有这种类型的签名: ifB :: Behavior Bool -> Behav

    3热度

    2回答

    考虑下面的代码: module Main where import Control.Event.Handler import Reactive.Banana import Reactive.Banana.Frameworks main :: IO() main = do (addHandler, fire) <- newAddHandler compile (ne

    2热度

    1回答

    基于我刚才的问题,其设定我逐渐细化(How to create monadic behaviour in reactive-banana): 假设有eKey,一个触发的事件,只要按下一个键,Buffer类型的b这是只要在eKey中发生支持的事件时进行了适当的修改,最后还有一些IO将对某些事件采取行动。这些IO动作取决于b的状态(为了简单起见,假设它们将当前状态b打印到控制台)。 目前,我有这个选择

    2热度

    1回答

    的文档accumB说: 注:与步进,行为价值变动“后小幅 ”的事件发生。这允许递归定义。 在我的情况下没有递归,但我想获得更新“现在”,而不是“稍后”。为什么没有accumB的特殊版本?我猜,我错过了明显的东西? 编辑:在我的应用程序有data Config,其保持各种配置值和一堆Event (Config -> Config),当用户改变在GUI一些值被烧制。现在,我希望我的程序的其他部分随时访

    6热度

    1回答

    这里的代码,用来工作(截断适当希望) makeNetworkDescription :: forall t . Frameworks t => Parameters -> Moment t() makeNetworkDescription params = do eInput <- fromAddHandler (input params) eTick <- fromAddH

    1热度

    1回答

    我有一个解决某些问题的程序,我决定在一个不错的GUI中监视它的功能。对于GUI,我选择了Gtk这意味着我需要在专用线程中运行mainGUI循环,而我的程序的其余部分将占用不同的线程。我认为我的程序和其他线程之间的通信将使用Chan向一个方向流动。我进一步决定使用FRP来更新工作者通知的GUI(原始程序在其单独线程中的逻辑)。所以我尝试编写一个简单的线程示例,其中一个线程将IO动作发送到执行操作(显

    1热度

    1回答

    我正在研究一个基于小型终端的用户界面,并且我想使用活性香蕉来描述交互。我唯一感兴趣的外部事件是用户是否按下了一个键。 从我从框架文档中收集到的信息,我可以使用轮询来获取终端输入缓冲区的状态,或者将“事件处理程序”传递给反应香蕉。我宁愿选择后者,但我发现事件处理部分令人困惑。我将如何描述getChar的事件驱动版本?最后,我想在“事件密钥”流上进行操作。 我已经看过SDL和wx绑定,但是我没有发现它

    1热度

    2回答

    我克隆reactive-banana,并试图建立reactive-banana-wx例如: git clone http://github.com/HeinrichApfelmus/reactive-banana.git cd reactive-banana/reactive-banana-wx stack build 有在该目录stack.yaml,并且它取几个包,但这个错误停止: Pr