Portability | portable |
---|---|
Stability | experimental |
Maintainer | ross@soi.city.ac.uk |
Safe Haskell | Safe-Inferred |
Control.Monad.IO.Class
Description
Class of monads based on IO
.
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:
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) |