transformers-0.3.0.0: Concrete functor and monad transformers

Portabilityportable
Stabilityexperimental
Maintainerross@soi.city.ac.uk
Safe HaskellSafe-Inferred

Control.Monad.IO.Class

Description

Class of monads based on IO.

Synopsis

Documentation

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:

Methods

liftIO :: IO a -> m a

Lift a computation from the IO monad.

Instances

MonadIO IO 
(Monad (IdentityT m), MonadIO m) => MonadIO (IdentityT m) 
(Monad (ListT m), MonadIO m) => MonadIO (ListT m) 
(Monad (MaybeT m), MonadIO m) => MonadIO (MaybeT m) 
(Monad (ContT r m), MonadIO m) => MonadIO (ContT r m) 
(Monad (ErrorT e m), Error e, MonadIO m) => MonadIO (ErrorT e m) 
(Monad (ReaderT r m), MonadIO m) => MonadIO (ReaderT r m) 
(Monad (StateT s m), MonadIO m) => MonadIO (StateT s m) 
(Monad (StateT s m), MonadIO m) => MonadIO (StateT s m) 
(Monad (WriterT w m), Monoid w, MonadIO m) => MonadIO (WriterT w m) 
(Monad (WriterT w m), Monoid w, MonadIO m) => MonadIO (WriterT w m) 
(Monad (RWST r w s m), Monoid w, MonadIO m) => MonadIO (RWST r w s m) 
(Monad (RWST r w s m), Monoid w, MonadIO m) => MonadIO (RWST r w s m)