7
私は現時点でHaskellとYampaを学習しており、反応関数について質問があります。Yampaの反応(センス)関数の時間差
reactimate :: IO a -- init
-> (Bool -> IO (DTime, Maybe a)) -- sense
-> (Bool -> b -> IO Bool) -- actuate
-> SF a b -- signal function
-> IO()
あなたは型シグネチャで見ることができるように、センス機能のための出力の一部は、機能の現在と以前の呼び出しの間の時間差です。私が見た例では、この時間差は、以前の呼び出しの値を保持するためにIORefを使用して、センスの中で「手動で」計算されます。
外部状態を使用して時差を追跡する必要があるのは奇妙に思えますが、なぜこの計算が反応機能で行われていないのですか? IORefはそれを処理する良い方法ですか?