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

[1] http://hackage.haskell.org/package/aivika


On Sun, Mar 16, 2014 at 5:23 PM, martin <martin.drautzburg@web.de> wrote:
FPR is usually described as a way to model interactions with the real world. I believe the same ideas should be
applicable to simulations. Instead of "real" events I would use fake events. This however only makes sense when the Time
associated with the Events (and Behaviors) is not wallclock time, but some kind of virtual time.

I looked briefly into Sodium and found no way to use "my own time". Steven Blackheath even said during a presentation,
that Time in Sodium is just another Behavior. I am not sure if I understood this correctly, but it gives me the feeling,
that the only Time available in Sodium is wallclock time, which would make it unsuitable for simulations.

Could someone give me some insights whether or not FRP is suitable for simulations?

Does my reasoning about Time make any sense? Do different libraries treat Time in different ways, such that some are
suitable for simulations, while others are not?

Martin

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe