2htdp /universeのティーチパックは、関数型リアクティブ プログラミングの良い例 (または悪い例、またはそうでない例) ですか?
コンセプト (ティック/入力ごとに世界の新しい状態が構築される) には合っているようですが、それに関連付けられた FRP ラベルは見たことがありません。
2htdp /universeのティーチパックは、関数型リアクティブ プログラミングの良い例 (または悪い例、またはそうでない例) ですか?
コンセプト (ティック/入力ごとに世界の新しい状態が構築される) には合っているようですが、それに関連付けられた FRP ラベルは見たことがありません。
Racket プログラミング言語ファミリーには、(ほとんどの) Racket を FRP 言語に変換する言語であるFrTimeが付属しています。たとえば、プロンプトでこの対話を実行すると、
> (current-time)
Tue Jul 2 09:31:06 EDT 2013
常に正確な時刻が表示されます。(オーケー、これは で動作していましcurrent-seconds
た。バグ レポートが作成中です。) 私が知る限り、frtime プログラムは変数をイベントのストリームと見なし、その考え方は FRP に不可欠です。
対照的に、ユニバース プログラムは、イベント ハンドラー (およびレンダリング関数) を特定の OS フック (マウス クリックなど) に明示的にバインドします。これらのハンドラーは完全な状態を取得し、完全な状態とアクション (メッセージ送信など) の要求を返します。この意味で、ユニバースは FRP 言語ではありません。
言語を明示的な FRP 言語と暗黙的な FRP 言語に分ける場合、ユニバースのティーチパックを明示的な FRP 言語として分類できます。