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

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

This package provides contstuff transformer class instances for the monad transformers from the monads-tf package as well as monads-tf transformer 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
- liftTF :: (Monad m, MonadTrans t) => m a -> t m a

# Exported from monads-tf

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 (MaybeT m) | |

MonadIO m => MonadIO (IdentityT m) | |

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

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

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

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

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

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

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

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

(Monoid w, MonadIO m) => MonadIO (WriterT w 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 MaybeT | |

MonadTrans IdentityT | |

MonadTrans (ContT r) | |

MonadTrans (MaybeT r) | |

MonadTrans (ContT r) | |

Error e => MonadTrans (ErrorT e) | |

MonadTrans (ReaderT r) | |

MonadTrans (StateT s) | |

MonadTrans (StateT s) | |

Monoid w => MonadTrans (WriterT w) | |

Monoid w => MonadTrans (WriterT w) | |

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) |

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

Interface to `Control.Monad.Trans.lift`

.