8

2htdp /universeのティーチパックは、関数型リアクティブ プログラミングの良い例 (または悪い例、またはそうでない例) ですか?

コンセプト (ティック/入力ごとに世界の新しい状態が構築される) には合っているようですが、それに関連付けられた FRP ラベルは見たことがありません。

4

1 に答える 1

11

Racket プログラミング言語ファミリーには、(ほとんどの) Racket を FRP 言語に変換する言語であるFrTimeが付属しています。たとえば、プロンプトでこの対話を実行すると、

> (current-time)
Tue Jul  2 09:31:06 EDT 2013

常に正確な時刻が表示されます。(オーケー、これは で動作していましcurrent-secondsた。バグ レポートが作成中です。) 私が知る限り、frtime プログラムは変数をイベントのストリームと見なし、その考え方は FRP に不可欠です。

対照的に、ユニバース プログラムは、イベント ハンドラー (およびレンダリング関数) を特定の OS フック (マウス クリックなど) に明示的にバインドします。これらのハンドラーは完全な状態を取得し、完全な状態とアクション (メッセージ送信など) の要求を返します。この意味で、ユニバースは FRP 言語ではありません。

言語を明示的な FRP 言語と暗黙的な FRP 言語に分ける場合、ユニバースのティーチパックを明示的な FRP 言語として分類できます。

于 2013-07-02T13:37:44.500 に答える