关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。
我们不允许提出有关书籍、工具、软件库等建议的问题。您可以编辑问题,以便可以用事实和引用来回答它。
7年前关闭。
Improve this question
我刚刚开始研究 Haskell 中的函数响应式编程世界,我想在 react 设置中尝试 GUI 编程(使用 gtk,因为大量绑定(bind))。
现在,我一直在研究 Grapefruit、Reactive-Banana 和 Buster,我想要任何关于使用任何一种或其他包装的快乐/恐怖的证明。
我只有这些初步意见:
也就是说,除非你们中的一些人当然说服我不这么想:-)
最佳答案
如果您只想使用常规 FRP,并与 GUI 框架保持密切联系,而不是对其使用“预制”抽象,那么在我看来,reactive-banana 是最可行的选择。它明确地针对与现有框架的绑定(bind),专为“现实世界”使用而设计(不做任何过于实验性的、语义上可能导致问题的事情)等等。
你可以看看reactive-banana-wx了解如何将基于事件的框架绑定(bind)到响应式香蕉。这很简单;我曾经写过一个到 Gtk2Hs 的快速绑定(bind)(不幸的是,现在丢失了代码),并且文件没有超过 50 行。这几乎是对 reactive-banana-wx 代码的直接音译。
我建议不要使用 Buster,原因很简单,它 hasn't been updated since 2009 ,并且不基于 GHC 7。
其他“面向生产”的 FRP 框架是 sodium (类似于 reactive-banana,但它有 dynamic event switching (即 coming to reactive-banana soon ,但还没有)和用于并发的“分区”概念;但是,它刚刚问世,还没有被采用) 和 netwire (箭头 FRP,与 active 香蕉和钠完全不同的生物)。
关于haskell - 选择哪种 FRP 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10000074/