HaskellでFRPを勉強したいのですが、使用するライブラリを決めるのが少し難しいです。多くは死んだ試みのようであり、いくつかは復活したようです(ヤンパでの最近の活動など)。
私が読んだことから、FRPには2つの「種類」があるようです:片側にプッシュプルFRP(Reactive-bananaなど)と反対側に矢印付きFRP(Yampaなど)。FranとFrTimeの時にいくつかの「クラシックFRP」がかつてあったようですが、私はこれらの中で最近の活動を発見していません。
これらの2つ(または3つ)は、FRPの根本的に異なるアプローチですか?
そのうちの1つは時代遅れの理論ですか、それとももう1つは「未来のもの」でしょうか。
または、異なる目的に対応して並行して進化する必要がありますか?
各カテゴリの最も目立つライブラリに名前を付けましたか、それとも検討する他のオプションがありますか(Sodium、Netwireなど)?
J.アブラハムソンのコメントで推奨されたEvan Czaplicki の講演をようやく見ました。それは非常に興味深く、私にとって事を明確にするのに役立ちました。この質問を面白く思った人にはぜひお勧めします。
reactive-banana
プッシュプルではなくプルベースです。reactive
プッシュプルです。Yampa
そしてnetwire
arrowizedされています。「値の累積」は許可するが「切り替え」は許可しないFRP、「切り替え」は許可するが「値の累積」は許可しないFRPがあります。どちらも「シンプル」なFRPです。Arrowized FRPは切り替えと蓄積を可能にし、矢印を使用してこれらの機能を組み合わせる危険を制御します。単項FRPのようにreactive-banana
、sodium
そして、elerea
スイッチングおよび相互作用も過言ではないを行う蓄積することを確実にするために、他の慎重なメカニズムを使用しています。