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