aivika-0.7: A multi-paradigm simulation library

Stabilityexperimental
MaintainerDavid Sorokin <david.sorokin@gmail.com>
Safe HaskellSafe-Inferred

Simulation.Aivika.Ref

Description

Tested with: GHC 7.6.3

This module defines an updatable reference that depends on the event queue.

Synopsis

Documentation

data Ref a Source

The Ref type represents a mutable variable similar to the IORef variable but only dependent on the event queue, which allows synchronizing the reference with the model explicitly through the Event monad.

refChanged :: Ref a -> Signal aSource

Return a signal that notifies about every change of the reference state.

refChanged_ :: Ref a -> Signal ()Source

Return a signal that notifies about every change of the reference state.

newRef :: a -> Simulation (Ref a)Source

Create a new reference.

readRef :: Ref a -> Event aSource

Read the value of a reference.

writeRef :: Ref a -> a -> Event ()Source

Write a new value into the reference.

modifyRef :: Ref a -> (a -> a) -> Event ()Source

Mutate the contents of the reference.