Simulations, and Group homomorphisms - Haskell

Welcome to the Functional Programming Zulip Chat Archive. You can join the chat here.

Julian KG

I was playing polybridge 2 which has the improvement over the original game of having a deterministic physics engine, and was wondering if I could encode this requirement at a type level in Haskell. What we want is our tick function to be a group homomorphism between time deltas (with addition as its group operation) and state deltas where state deltas act on our representation of state. Since we are talking about time varying values this felt very FRP-y to me, so I'm sure someone has figured this stuff out. Because of this I'm really curious about what happens when we try to preserve these properties in FRP contexts. Naively it seems like all the things in FRP respect these laws, but I'd be interested to see if anybody has looked into this issue formally.