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

License | BSD3 |

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

Stability | experimental |

Safe Haskell | Safe-Inferred |

Language | Haskell2010 |

Tested with: GHC 7.8.3

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

- class (Monad m, ExceptionHandling m, SessionMonad m, ProtoRefMonad m, ProtoArrayMonad m, Unboxed m Double, Unboxed m Float, Unboxed m Int, GeneratorMonad m) => ProtoMonadComp m
- class (ProtoMonadComp m, EventQueueing m) => MonadComp m
- class MonadCompTrans t where

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

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

Such a prototype monad that allows enqueueing events.

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`

.