Copyright | Copyright (c) 2009-2017 David Sorokin <david.sorokin@gmail.com> |
---|---|

License | BSD3 |

Maintainer | David Sorokin <david.sorokin@gmail.com> |

Stability | experimental |

Safe Haskell | None |

Language | Haskell2010 |

Tested with: GHC 8.0.1

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

## Synopsis

- class (Monad m, MonadException m, MonadGenerator m) => MonadComp m
- class MonadCompTrans t m where
- liftComp :: m a -> t m a

# 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`

.

## Instances

Monad m => MonadCompTrans Event m Source # | |

Defined in Simulation.Aivika.Trans.Internal.Event | |

Monad m => MonadCompTrans Dynamics m Source # | |

Defined in Simulation.Aivika.Trans.Internal.Dynamics | |

Monad m => MonadCompTrans Simulation m Source # | |

Defined in Simulation.Aivika.Trans.Internal.Simulation liftComp :: m a -> Simulation m a Source # | |

Monad m => MonadCompTrans Parameter m Source # | |

Defined in Simulation.Aivika.Trans.Internal.Parameter | |

Monad m => MonadCompTrans Composite m Source # | |

Defined in Simulation.Aivika.Trans.Composite | |

MonadDES m => MonadCompTrans Cont m Source # | |

Defined in Simulation.Aivika.Trans.Internal.Cont | |

MonadDES m => MonadCompTrans Process m Source # | |

Defined in Simulation.Aivika.Trans.Internal.Process |