問題タブ [sodiumfrp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
531 参照

reactive-programming - ReactFX と Sodium の比較

ナトリウムについてのこのは、FRP の優れた入門書です。

Sodium に関する本は理解しやすいため、2 つのライブラリ (Sodium と ReactFX) を比較することで、人々は本から学んだことを活用し、その知識を使用して ReactFX に GUI を実装できると期待しています。

これが、この質問を投稿する動機です。

そこで、この目標を達成するのに役立つ 11 の質問をします。

次の 11 のナトリウムの概念に対応する ReactFX の概念は何ですか?

1細胞/行動

2 ストリーム/イベント

3 フィルター

4 マージ

5合体

6 スイッチ

7 決して

8ホールド

9 スナップショット

10 マップ

11リフト

編集:

12 CellLoop/スナップショット ホールド ループ

0 投票する
1 に答える
86 参照

haskell - Sodium の「動作」を再帰的に更新すると、「スレッドがブロックされました ...」が生成されます

現在の値から動作 (セル/ヴァル) を更新します。

ただし、次のコードは、MVar 操作の例外で無期限にブロックされたスレッドをスローします。

「iの値:」が3回出力されると予想していました。私は何を逃したのですか?- ありがとう。


  • GHCi、バージョン 7.8.3
  • ナトリウム-0.11.0.3
0 投票する
0 に答える
154 参照

haskell - ghcjs + ナトリウム: しばらくするとイベントが発生しません

更新: ghcjs に問題があります: https://github.com/ghcjs/ghcjs/issues/296


私はghcjsとsodiumで遊んでいますが、3秒後にアプリケーションがイベントを発行しなくなりました。

最小限の例:

  • ボタン: イベントを発行する
  • カウンター動作: ボタンのクリック数をカウントします
  • a div: カウンターの動作を表示します
  • 3 秒後、div は更新されなくなります
  • ページをリロードすると、カウンターが再び更新されます - 3 秒間


完全な例はhttps://github.com/j-keck/ghcjs-sodiumにあります

ありがとう

0 投票する
1 に答える
107 参照

functional-programming - Blackheath の「関数型リアクティブ プログラミング」本、2.6.3 セクションの説明

セクションでは、FRP ストリーム処理におけるマージ操作について説明します ( Sodium ライブラリが使用されます)。Book は、ストリームの組み合わせを示す以下の図を示しており、イベントがストリームを介して FRP ロジックに入ると、トランザクション コンテキストで発生する状態変化のカスケードが発生するため、すべての変更はアトミックであると述べています。

イベントのストリーム - sDeselectsSelect(「+」と「-」の 2 つのイベントを参照) は UI コントロールから発生しています。これは、同じ FRP トランザクション内で発生するため、実行されるイベントは同時と見なされます。それから本は言います

マージの実装では、それ以上入力を受信しないことがわかるまで、イベントを一時ストレージに格納 する必要があります。次に、イベントを出力します。複数のイベントを受け取った場合は、指定された関数を使用してそれらを結合します。それ以外の場合は、受信した 1 つのイベントを出力します。

質問:「これ以上インプットが来ない」時はいつですか?マージ関数はこの瞬間をどのように認識していますか? 特定のダイアグラムの 2 番目の着信ストリームから値を取得するのは単に時間ですか、それとも不足していますか? より良いストリームの例で説明できますか?