Stability | experimental |
---|---|

Maintainer | Ertugrul Soeylemez <es@ertes.de> |

This package provides contstuff transformer class instances for the monad transformers from the transformers package as well as transformers class instances for the monad transformers from contstuff. This makes using both transformer libraries in a single project much more convenient as you get along with a single set of lifting functions.

- class Monad m => MonadIO m where
- class MonadTrans t
- liftT :: (Monad m, MonadTrans t) => m a -> t m a

# Exported from transformers

class Monad m => MonadIO m where

Monads in which `IO`

computations may be embedded.
Any monad built by applying a sequence of monad transformers to the
`IO`

monad will be an instance of this class.

Instances should satisfy the following laws, which state that `liftIO`

is a transformer of monads:

MonadIO IO | |

MonadIO m => MonadIO (ListT m) | |

MonadIO m => MonadIO (ContT r m) | |

MonadIO m => MonadIO (MaybeT r m) | |

(Monoid w, MonadIO m) => MonadIO (WriterT w m) | |

(Monoid w, MonadIO m) => MonadIO (WriterT w m) | |

MonadIO m => MonadIO (StateT s m) | |

MonadIO m => MonadIO (StateT s m) | |

MonadIO m => MonadIO (ReaderT r m) | |

(Error e, MonadIO m) => MonadIO (ErrorT e m) | |

MonadIO m => MonadIO (ContT r m) | |

MonadIO m => MonadIO (ChoiceT r i m) | |

MonadIO m => MonadIO (EitherT r e m) | |

MonadIO m => MonadIO (StateT r s m) | |

(Monoid w, MonadIO m) => MonadIO (RWST r w s m) | |

(Monoid w, MonadIO m) => MonadIO (RWST r w s m) |

class MonadTrans t

The class of monad transformers. Instances should satisfy the
following laws, which state that `lift`

is a transformer of monads:

MonadTrans ListT | |

MonadTrans (ContT r) | |

MonadTrans (MaybeT r) | |

Monoid w => MonadTrans (WriterT w) | |

Monoid w => MonadTrans (WriterT w) | |

MonadTrans (StateT s) | |

MonadTrans (StateT s) | |

MonadTrans (ReaderT r) | |

Error e => MonadTrans (ErrorT e) | |

MonadTrans (ContT r) | |

MonadTrans (ChoiceT r i) | |

MonadTrans (EitherT r e) | |

MonadTrans (StateT r s) | |

Monoid w => MonadTrans (RWST r w s) | |

Monoid w => MonadTrans (RWST r w s) |

liftT :: (Monad m, MonadTrans t) => m a -> t m aSource

Interface to `Control.Monad.Trans.lift`

.