aivika-transformers-2.0: Transformers for the Aivika simulation library

CopyrightCopyright (c) 2009-2014, David Sorokin <david.sorokin@gmail.com>
LicenseBSD3
MaintainerDavid Sorokin <david.sorokin@gmail.com>
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

Simulation.Aivika.Trans.Comp

Description

Tested with: GHC 7.8.3

It defines a type class of monads based on which the simulation monads can be built.

Synopsis

Documentation

class (Monad m, ExceptionHandling m, SessionMonad m, ProtoRefMonad m, ProtoArrayMonad m, Unboxed m Double, Unboxed m Float, Unboxed m Int, GeneratorMonad m) => ProtoMonadComp m Source

A prototype of the type class of monads based on which the simulation monads can be built.

Instances

class (ProtoMonadComp m, EventQueueing m) => MonadComp m Source

Such a prototype monad that allows enqueueing events.

Instances

class MonadCompTrans t where Source

A variant of the standard MonadTrans type class with one difference: the computation that will be lifted into another must be MonadComp instead of more general and less restricted Monad.

Methods

liftComp :: MonadComp m => m a -> t m a Source

Lift the underlying computation into another within simulation.