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

CopyrightCopyright (c) 2009-2017 David Sorokin <david.sorokin@gmail.com>
LicenseBSD3
MaintainerDavid Sorokin <david.sorokin@gmail.com>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Simulation.Aivika.Trans.Comp

Description

Tested with: GHC 8.0.1

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

Synopsis

Documentation

class (Monad m, MonadException m, MonadGenerator m) => MonadComp m Source #

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

class MonadCompTrans t m 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.

Minimal complete definition

liftComp

Methods

liftComp :: m a -> t m a Source #

Lift the underlying computation into another within simulation.

Instances

Monad m => MonadCompTrans Composite m Source # 

Methods

liftComp :: m a -> Composite m a Source #

MonadDES m => MonadCompTrans Cont m Source # 

Methods

liftComp :: m a -> Cont m a Source #

MonadDES m => MonadCompTrans Process m Source # 

Methods

liftComp :: m a -> Process m a Source #