問題タブ [frp]

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 に答える
161 参照

java - Java の可変モデルの宣言的な派生プロパティ

POJO のプロパティを同期するためのフレームワークはありますか? たとえば、反復的でエラーが発生しやすい値と (特に) コレクションで、プロパティの変更、要素の追加、およびリスナーの削除を登録する必要がないことをfoo.text = bar.text + baz.text(高レベルの宣言形式で) 表現したいと考えています。foo.y = (max(bars, y)).y

0 投票する
18 に答える
267366 参照

functional-programming - (関数型) リアクティブ プログラミングとは何ですか?

リアクティブ プログラミングに関するウィキペディアの記事を読みました。関数型リアクティブ プログラミングに関する小さな記事も読みました。説明はかなり抽象的です。

  1. 関数型リアクティブ プログラミング (FRP) とは実際には何を意味するのでしょうか?
  2. リアクティブ プログラミング (非リアクティブ プログラミングとは対照的に?) は何で構成されていますか?

私のバックグラウンドは命令型/オブジェクト指向言語であるため、このパラダイムに関連する説明をいただければ幸いです。

0 投票する
2 に答える
935 参照

haskell - Haskell/Yampa で矢印構文を使用した単純な putStrLn

矢印言語拡張を使用する Yampa FRP ライブラリで Haskell を使用しています。

SF で単純な putStrLn を実行するにはどうすればよいですか?

矢印の構文は、式が矢印ではないことに文句を言いますが(もちろん)、矢印を使用しても出力が得られません

0 投票する
5 に答える
3638 参照

f# - Functional Reactive F#-ゲームでの状態の保存

私は現在、F#を使用して関数型リアクティブパラダイムについて学習している学生です。それは私にとって根本的に新しい視点です。昨日、このパラダイムを使用して簡単なピンポンゲームを作成する方法を学びました。私がこれまでに把握している考え方は、価値を時間の関数として考えるというものです。純粋な形では、ステートレスです。ただし、ボールの位置(または状態)を覚えておく必要があります。したがって、私は常にボールの現在の位置をグローバル関数のパラメーターとして渡します。

スペースインベーダーのような少し複雑なゲームについて話すと、多くの状態があります(エイリアンの位置、エイリアンの現在のHP、残りの爆弾の数など)

この問題に取り組むためのエレガントで最良の方法はありますか?常にトップレベルに状態を保存しますか?現在のすべての状態は、グローバル関数の追加の入力引数として指定する必要がありますか?

F#の簡単なサンプルを使用してこれを説明できる人はいますか?どうもありがとう。

0 投票する
3 に答える
2872 参照

user-interface - 機能的な GUI ユーザーはどこにいますか?

関数型言語で GUI を作成する方法については、多くの研究が行われてきました。プッシュ/プル frp、矢印ベースの frp、およびおそらく他の優れた研究用のライブラリもあります。多くの人はこれがよりネイティブな方法であることに同意しているようですが、ほぼ全員が gtk2hs や wxhaskell などの命令型バインディング ライブラリを使用しているようです。優れた チュートリアルとして推奨されている場所でさえ、これらの単純な命令型ライブラリへのバインディングを教えています。FRPの研究に基づいたGUIを作ってみませんか?

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

haskell - このヤンパのボールバウンドが無限ループに陥るのはなぜですか?

Yampa-Framework で跳ねるボールをシミュレートしようとしています: 初期の x 位置、高さ、速度が与えられると、ボールは重力の規則に従って跳ね返るはずです。シグナル関数は入力として「Tip-Event」を受け取ります。これは、「ボールがチップされたときに速度が 2 倍になる」という考え方です。

ボールはうまく跳ねますが、転倒イベントが発生するたびに、関数は無限ループに入ります。おそらく遅延 (dSwitch、pre、notYet?) を追加する必要があると考えましたが、方法がわかりません。どんな助けでも大歓迎です!

編集:ヒントが発生したときにフラグをフィードバックすることで無限ループを回避することができましたが、それでも正しい方法とは思えません...

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

haskell - FRP(リアクティブ):filterEの使い方は?

次は "()" が 1 秒間に 10 回出力されると思います。しかし、1秒後にハングします。なんで?

filterE で使用されている liftM に関連していることがわかりました。

filterEを使用して再実装しようとしましfmapたが、うまくいくようです。なんで?規格filterEはどのように使用されるように設計されていますか?

reactiveパッケージが提供する多くの標準関数( diffE、 などintegrate) を再実装していることに気付きました。パッケージにバグがあるということですか、それとも間違った方法で使用しているということですか?

ありがとう!

0 投票する
3 に答える
1838 参照

haskell - Haskellでゲームエンジンとネットワークサーバーを最適に同期するには?

ゲーム エンジン (プレイヤーの動きなどを計算する) がサーバー上で実行され、レンダリングとキーボード/マウスの処理がクライアントによって行われる小さなサッカー ゲームを設計しています。使いたいサーバー(Haskell)について

  • クライアント/サーバー通信用の Happstack
  • Yampa / ゲームエンジンの Reactulate

約 20 ミリ秒ごとに、クライアントはキーボードとマウスのイベントを HTTP GET 経由でサーバーに送信し、現在のゲーム ステータス (JSON でエンコードされたボールとプレーヤーの位置) を受信して​​レンダリングする必要があります。ゲーム ループ、入力処理、およびレンダリングに SDL インフラストラクチャを使用することを考えています。

サーバーは基本的に 2 つのスレッドを実行します。happstack サーバーは HTTP GET を受信し、キーボード/マウス コマンドをキューに入れ、2 番目のキューから現在のゲーム ステータスを読み取り、HTTP GET リクエストに応答します。

2 番目のスレッドは、Yampa Arcade の論文で説明されているように、Yampa ゲーム エンジンを実行します。ゲーム エンジンは新しいラウンドを可能な限り迅速に (ティックなしで) 計算し、結果をレンダリング キューに入れます。

建築

一般的な質問: これは実行可能なアーキテクチャのように見えますか?

具体的な質問: サーバー側のレンダリング キューをどのように設計しますか? これには Chan を使用しますか? ゲーム エンジンがクライアント側の「カチカチ」よりも平均して速い場合、キューはどんどん長くなります。これは、Chan でどのように処理できますか?

あなたのコメントは大歓迎です!

0 投票する
4 に答える
6706 参照

scala - Scala.React の状況は?

オブザーバー パターンの廃止を読んだばかりで、非常に魅力的であることがわかりました。

ドキュメントに記載されている Scala.React パッケージのステータスは? Scala.React のスナップショットの tarball を 1 つ見つけましたが、ドキュメントやアクティブなメンテナンスはあまりないようです。また、リアクティブ プログラミングに関連しているように見える ScalaFX も見つけましたが、同様にメンテナンスされていません。

リアクティブに基づいた GUI フレームワークを作成するために、このホワイト ペーパーのアイデアに基づいて構築されたプロジェクトはありますか?

0 投票する
3 に答える
10947 参照

functional-programming - Functional Reactive Programming 言語の仕様

ある時点で、機能的なリアクティブ フレームワークの作成をいじることを検討しています。私はそれについてかなり多くのことを読み、いくつかの例を見てきましたが、このフレームワークが FRP 拡張/DSL と見なされるために何をしなければならないかについて明確な考えを得たかったのです。私は実装の問題や詳細などにはあまり関心がありませんが、完璧な世界の状況で何が望まれるかについてはもっと関心があります。

理想的な関数型リアクティブ プログラミング言語の主要な操作と品質は何でしょうか?