推荐阅读/教程,了解反应性香蕉FRP库

时间:2012-02-09 11:56:09

标签: haskell reactive-programming frp

我对FRP(功能反应编程) reactive-banana haskell库感兴趣。你会推荐什么读新手才能理解反应性香蕉背后的理论?据我了解,这个领域已取得一些进展,不同的FRP图书馆使用不同的方法,所以我认为任何FRP论文都不会这样做。

6 个答案:

答案 0 :(得分:43)

不幸的是,我还没有编写任何全面的文档或教程,主要是因为反应性香蕉库仍然有些不稳定。

这意味着,目前,您必须从各种来源自己解决问题,并以相当强大的Haskell知识为后盾。我在这里可以做的是列出各种来源和灵感。

答案 1 :(得分:9)

基本上有两个来源:

  1. Conal Elliott的论文“Simply Efficient Functional Reactivity”(以及Conal在本文中的其他工作)。
  2. Apfelmus的博客。文章“Reactive Banana and the Essence of FRP”可能是一个很好的起点。
  3. 反应性香蕉的设计和语义大量吸取了Conal的论文和他的“反应性”库(因为反应性香蕉-0.2)。关于这背后的许多推理的讨论,以及图书馆之间的差异,都在Apfelmus博客的评论中。不幸的是,“被动”具有与其“切换器”功能相关的一些不良行为,因此被排除在反应性香蕉之外。关于这个问题的性质以及如何解决这个问题已经有很多研究,看起来reactive-banana-0.5可能会引入一些版本的“切换器”。

答案 2 :(得分:4)

这不是反应性香蕉,但我发现这个系列有助于理解FRP,从头开始构建一个小型乒乓球游戏。

https://github.com/leonidas/codeblog/blob/master/2012/2012-01-08-streams-coroutines.md https://github.com/leonidas/codeblog/blob/master/2012/2012-01-17-declarative-game-logic-afrp.md

答案 3 :(得分:3)

我发表了关于FRP和反应性香蕉的博客。 看看这里,看看它是否有用:

http://alfredodinapoli.wordpress.com/2011/12/24/functional-reactive-programming-kick-starter-guide/

HTH,

一个。

答案 4 :(得分:2)

我和你在同一条船上,在寻找资源时我发现"FRP explanation using reactive-banana"。它针对的是FRP初学者。

答案 5 :(得分:1)

最近我移植了我的流媒体'包装到'反应香蕉'。该包用于实时处理MIDI消息,例如,用于产生伴奏,音乐游戏和一些有趣的效果。

http://code.haskell.org/~thielema/reactive-balsa/

我是如何开始学习反应性香蕉的?我刚刚问了包装的作者,他帮助我做了第一步。在完成第一步后,我发现该软件包的Haddock文档非常有用。现在你可以在包工作者和我之间做出选择,为你提供关于如何从反应香蕉开始的第一个提示。 : - )