aivika-0.4.3: A multi-paradigm simulation library

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

Simulation.Aivika.Dynamics

Description

Tested with: GHC 7.4.1

The module defines the Dynamics monad representing an abstract dynamic process, i.e. a time varying polymorphic function.

Synopsis

Documentation

data Dynamics a Source

A value in the Dynamics monad represents a dynamic process, i.e. a polymorphic time varying function.

class Monad m => DynamicsLift m whereSource

A type class to lift the Dynamics computations in other monads.

Methods

liftDynamics :: Dynamics a -> m aSource

Lift the specified Dynamics computation in another monad.

runDynamicsInStartTime :: Dynamics a -> Simulation aSource

Run the dynamic process in the initial simulation point.

runDynamicsInStopTime :: Dynamics a -> Simulation aSource

Run the dynamic process in the final simulation point.

runDynamicsInIntegTimes :: Dynamics a -> Simulation [IO a]Source

Run the dynamic process in all integration time points

runDynamicsInTime :: Double -> Dynamics a -> Simulation aSource

Run the dynamic process in the specified time point.

runDynamicsInTimes :: [Double] -> Dynamics a -> Simulation [IO a]Source

Run the dynamic process in the specified time points.

catchDynamics :: Dynamics a -> (IOException -> Dynamics a) -> Dynamics aSource

Exception handling within Dynamics computations.

finallyDynamics :: Dynamics a -> Dynamics b -> Dynamics aSource

A computation with finalization part like the finally function.

throwDynamics :: IOException -> Dynamics aSource

Like the standard throw function.