transformers-0.3.0.0: Concrete functor and monad transformers

Copyright(c) Andy Gill 2001, (c) Oregon Graduate Institute of Science and Technology, 2001
License(c) Andy Gill 2001, (c) Oregon Graduate Institute of Science and Technology, 2001
Maintainerross@soi.city.ac.uk
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred

Control.Monad.IO.Class

Description

Class of monads based on IO.

Synopsis

Documentation

class Monad m => MonadIO m whereSource

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 aSource

Lift a computation from the IO monad.

Instances

MonadIO IO 
MonadIO m => MonadIO (IdentityT m) 
MonadIO m => MonadIO (ListT m) 
MonadIO m => MonadIO (MaybeT 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) 
(Monoid w, MonadIO m) => MonadIO (RWST r w s m) 
(Monoid w, MonadIO m) => MonadIO (RWST r w s m)