J'apprends actuellement Haskell et Yampa et j'ai une question sur la fonction de réactivité.Différence de temps dans la fonction de réactivité (sens) dans Yampa
reactimate :: IO a -- init
-> (Bool -> IO (DTime, Maybe a)) -- sense
-> (Bool -> b -> IO Bool) -- actuate
-> SF a b -- signal function
-> IO()
Comme vous pouvez le voir dans la signature de type, une partie de la sortie de la fonction de détection est la différence de temps entre l'appel en cours et précédent de la fonction. Dans les exemples que j'ai vus, cette différence de temps est calculée "manuellement" à l'intérieur du sens, en utilisant un IORef pour garder la valeur de l'appel précédent.
Il semble bizarre que vous deviez garder une trace de la différence de temps en utilisant un état externe, pourquoi ce calcul n'est-il pas fait dans la fonction de réactualisation? Un IORef est-il un bon moyen de le gérer?