SodiumFRP / sodium

Sodium - Functional Reactive Programming (FRP) Library for multiple languages
http://sodium.nz/
Other
848 stars 138 forks source link

Causality in the Haskell denotational semantics #178

Open cubuspl42 opened 1 year ago

cubuspl42 commented 1 year ago

@the-real-blackh Does the Haskell denotational semantics attempt to follow the causality rule? I.e. do operators attempt not to rely on future times t1 > t when computing an event or value at time t?

I can see more than one place when such non-causality actually happens and I'm wondering if I should point out those places, or if it was a non-goal for the semantics to be strictly causal.

In practice, non-causality means that evaluating a Haskell FRP system, involving loops and using the defined primitives, diverges (enters infinite computation; hangs) when it shouldn't.