2012-04-03 7 views
26

私は、HaskellのFunctional Reactive Programmingの世界を調べ始めました。リアクションの設定でGUIプログラミング(実質的なバインディングのためにgtkを使用)を試したいと思います。選択するFRPパッケージはどれですか?

今、私はグレープフルーツ、リアクティブバナナ、バスターでちょっと見てきましたが、いずれか1つまたは他のパッケージを使用することの喜び/恐怖を証明したいと思います。

私が持っているすべては、これらの予備oppinionsです:

  • 私は抽象化されたバックエンドの考え方についてambivalet感を持っているように、自分自身をGTKするFRPパッケージの結合の一部をやって気にしない(ことグレープフルーツ)が持っている..私は型理論は面白いものの

  • 、私も入れているようだ実際のプログラムのための簡単なエンコーディングを重視..ビットオフgrapfruitを-記録

もちろん、他の人たちの考えに反してあなたを説得する人がいない限り:-)

+4

「graprefuit」と「reactive-banana」? frpと果物の間にいくつかの特別な親和性はありますか? –

+1

@benw:「バナナ」の部分は、私が知っている最も面白いタイトルの1つであるペーパーへの言及だと思います。「バナナ、レンズ、封筒、有刺鉄線による機能プログラミング」(http://research.microsoft。com/en-us/um/people/emeijer/Papers/fpca91.pdf)。 – hammar

+1

@ハマー:ハハ、素敵!実際、私はさまざまな理由から「バナナ」という名前を選びましたが、私はその1つの言及が好きです。 –

答えて

18

通常のFRPを使用して、あらかじめ作成された抽象化を使用するのではなくGUIフレームワークに近づけたい私の意見では、反応性バナナは最も実行可能な選択肢です。これは、既存のフレームワークへのバインディングを明示的に据えており、実際の使用(問題を引き起こす可能性のある、実験的、意味的なものではない)などのために設計されています。

イベントベースのフレームワークをリアクティブバナナにバインドする方法については、reactive-banana-wxを参照してください。それは非常に簡単です。私は一度Gtk2Hsへのバインディングを書きました(残念ながらコードを失ってしまいました)。ファイルは50行以上はありませんでした。それは、反応性バナナ-wxコードのほとんどの直接音訳でした。

私はそれhasn't been updated since 2009、およびGHC 7に

を構築していない他の「生産志向」FRPフレームワークは、反応性バナナに似(sodiumていますが、という単純な理由のために、バスターを使用しないことをお勧めしますそれはdynamic event switching(これはcoming to reactive-banana soonですが、まだありません)と並行性のための「パーティション」という概念がありますが、まだ出てこないのですが)、netwire(arrowised FRP、反応性バナナおよびナトリウム)。

+2

更新:スイッチングは、バージョン0.7.0.0 – AndrewC

+1

(ただし、Heinrich Apfelmusはまだ(2013.06.20)[working on](http://stackoverflow.com/questions/15396038/dynamic-event-switching-)/ in-reactive-banana-cause-severe-leak#comment24927049_15396038)動的イベント切り替えのガベージコレクションですので、現時点で注意して使用してください。) – AndrewC

12

私は自分自身でFRPを実験してきましたが、今まで私にとって働いていたのはReactive-Bananaだけです。グレープフルーツや他のほとんどのものは、古くなっていて、更新されたり支持されそうにないように見えなかった。私は簡単に網を見ましたが、率直に言えば、すべての矢の理論が私を押しのけてしまいました。私は単純なことをする方法を考え出すのに苦労しました。

対照的に私は、Reactive-Bananaで書かれたSDLへのバインディングをかなり手に入れました。 Reactive-Bananaに賛成する別のものは、Heinreichがコミュニティで非常に活発であり、問​​題に遭遇したときに役立つ回答を提供することが多いということです。ここではさまざまな反応バナナの質問を見てみると、彼はかなりの人に反応していて、彼は通常、HaskellのメーリングリストのFRPの議論に非常に積極的です。

+1

意見の回答が必要な場合もあります。ありがとう! –

関連する問題