相关疑难解决方法(0)

在重新启动内执行MonadIO操作

在反应香蕉,我试图运行reactimate :: Event (IO ()) -> Moment ()与一些动作ArduinohArduino包,的一个实例MonadIO.Arduino a -> IO a包中似乎没有提供任何功能.你将如何执行Arduino行动reactimate

haskell frp reactive-banana

8
推荐指数
1
解决办法
211
查看次数

处理活性香蕉中的当前时间

你如何应对当前反应香蕉的时间?

理想情况下,我希望有一个Behaviour我可以"轮询"以获得当前时间.但是,BehaviourEvents(通过<@等)进行轮询给出Behaviour前一个 Event值,而不是当前值.(我意识到这是为了避免确实有用的循环定义.)

我发现fromPoll我认为会有所帮助. Behaviour这是从观察到的小号fromPoll不能依靠自己,因此没有周期可以通过观察行为出台之前这个Event被解雇,而不是刚过以前Event解雇.

一个题外话

在某些更正式的术语中,我建议Events总是在时间t +发生,并且Behaviours总是在时间t观察到-Event观察在它们之前无限短时间内发生的行为.新价值Behaviour的生成S- accumB和朋友们总是准时开始T +所以无法通过观察EventS的也发生在时间T +.

在这个建议的语义下Behaviour,fromPoll将在每个Event处理之前更新.其他Behaviours将在之后更新,因为它们是由accumB朋友创建的.

我的用例

无论如何,这对我的主要问题来说是一个重要的题外话.我想知道是否有某种方式来处理当前时间(而不是时间以前 Event在反应香蕉).例如,我的用例是跟踪实体发送的ping,以及它们中的任何一个是否在特定时间间隔内没有发送ping来发出警告事件.

当然,我可以并且会非常频繁地发射事件,所以我的警告不会大量错误.然而,它似乎是一个瑕疵,他们不能准确.

处理这个问题的正确方法是什么?

haskell frp reactive-banana

6
推荐指数
1
解决办法
333
查看次数

标签 统计

frp ×2

haskell ×2

reactive-banana ×2