
I stumbled across avika but haven't looked at it. One of my problems is to decide where to dive in. Should I look at yampa, sodium or avika when I want to do simulations? Am 03/17/2014 07:01 AM, schrieb David Sorokin:
Martin,
It depends on that how FRP is defined.
So, in F# it is usually associated with the Async monad and IObservable interface.
If we will follow in the same direction then the short answer is definitely yes. An example is my simulation library Aivika [1].
My Process monad allows describing the discontinuous processes (inspired by the Async monad from F#). There is also the Signal type (inspired by the .NET IObservable interface) that allows notifying about some (.NET-like) events such as an update of the variable.
Then the characteristic function in a context of FRP would be the next one:
processAwait :: Signal a -> Process a
There is an opposite direction from the Process computation to signals through the Task type but it is a little bit complicated as the discontinuous process can be canceled, or an IO exception may arise within the computation.
But the simulation field is too big and diverse to assert something general.
Thanks, David