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

Evg*_*M86 42 haskell frp reactive-programming

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

Hei*_*mus 43

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

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

  • 可直接提供反应性香蕉的文件

    • 真正简短的介绍 - 主要回答"为什么我需要了解Applicative Functors才能理解反应香蕉?"
    • 教程幻灯片[PDF] - 解释和可视化行为和事件的概念
    • API参考
    • 示例代码 - 示例从简单开始,对于理解库非常有用.
    • 模型实现 - 查看源代码.有助于理解编程模型的细节.
  • 由于反应性香蕉是基于Conal Elliott的作品,他的着作是一个很好的来源


Joh*_*n L 9

基本上有两个来源:

  1. Conal Elliott的论文" 简单有效的功能反应性 "(以及Conal在本文中的其他工作).
  2. Apfelmus的博客.文章" 反应性香蕉和玻璃钢的本质 "可能是一个很好的起点.

反应性香蕉的设计和语义很大程度上来自Conal的论文和他的"反应性"库(因为反应性香蕉-0.2).关于这背后的许多推理的讨论,以及图书馆之间的差异,都在Apfelmus博客的评论中.不幸的是,"被动"具有与其"切换器"功能相关的一些不良行为,因此被排除在反应性香蕉之外.关于这个问题的性质以及如何解决这个问题已经有很多研究,看起来似乎reactive-banana-0.5可能会引入一些版本的"切换器".

  • 递归!这个问题起源于对Apfelmus博客的评论,他回答说"重新发布SO,我会在那里回答".Apfelmus的帖子热切期待...... (2认同)

Oli*_*ver 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-声明性游戏逻辑-afrp.md