mtl-1.1.1.0: Monad transformer library

Portability | portable
Stability | experimental
Maintainer | libraries@haskell.org

Control.Monad.Trans

Description

The MonadTrans class.

Inspired by the paper /Functional Programming with Overloading and Higher-Order Polymorphism/, Mark P Jones (http://web.cecs.pdx.edu/~mpj/) Advanced School of Functional Programming, 1995.

# Documentation

class MonadTrans t where

Methods

lift :: Monad m => m a -> t m a

Instances

MonadTrans ListT |
MonadTrans (ReaderT r) |
Error e => MonadTrans (ErrorT e) |
MonadTrans (StateT s) |
MonadTrans (StateT s) |
Monoid w => MonadTrans (WriterT w) |
Monoid w => MonadTrans (WriterT w) |
MonadTrans (ContT r) |
Monoid w => MonadTrans (RWST r w s) |
Monoid w => MonadTrans (RWST r w s) |

class Monad m => MonadIO m where

Methods

liftIO :: IO a -> m a

Instances

MonadIO IO |
MonadIO m => MonadIO (ListT m) |
MonadIO m => MonadIO (ReaderT r m) |
(Error e, MonadIO m) => MonadIO (ErrorT e 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 (ContT r m) |
(Monoid w, MonadIO m) => MonadIO (RWST r w s m) |
(Monoid w, MonadIO m) => MonadIO (RWST r w s m) |