| Haskell Hierarchical Libraries (mtl package) | Source code | Contents | Index

Control.Monad.Error |

Portability | non-portable (multi-parameter type classes)
Stability | experimental
Maintainer | libraries@haskell.org

Description
The Error monad. Rendered by Michael Weber mailto:michael.weber@post.rwth-aachen.de, inspired by the Haskell Monad Template Library from Andy Gill (http://www.cse.ogi.edu/~andy/)
Documentation
class Error a where

Methods

noMsg :: a
strMsg :: String -> a

Instances

Error IOError
Error [Char]

class Monad m => MonadError e m | m -> e where

Methods

throwError :: e -> m a
catchError :: m a -> (e -> m a) -> m a

Instances

MonadError IOError IO
Error e => MonadError e (Either e)
MonadError e m => MonadError e (ListT m)
(Monad m, Error e) => MonadError e (ErrorT e m)
MonadError e m => MonadError e (ReaderT r m)
MonadError e m => MonadError e (StateT s m)
(Monoid w, MonadError e m) => MonadError e (WriterT w m)
(Monoid w, MonadError e m) => MonadError e (RWST r w s m)

newtype ErrorT e m a

Constructors

ErrorT |

runErrorT :: (m (Either e a)) |

Instances

(Monad m, Error e) => MonadError e (ErrorT e m)
(Error e, MonadReader r m) => MonadReader r (ErrorT e m)
(Error e, MonadState s m) => MonadState s (ErrorT e m)
(Error e, MonadWriter w m) => MonadWriter w (ErrorT e m)
Error e => MonadTrans (ErrorT e)
Monad m => Functor (ErrorT e m)
(Monad m, Error e) => Monad (ErrorT e m)
(Error e, MonadCont m) => MonadCont (ErrorT e m)
(MonadFix m, Error e) => MonadFix (ErrorT e m)
(Error e, MonadIO m) => MonadIO (ErrorT e m)
(Monad m, Error e) => MonadPlus (ErrorT e m)

mapErrorT :: (m (Either e a) -> n (Either e' b)) -> ErrorT e m a -> ErrorT e' n b
module Control.Monad
module Control.Monad.Fix
module Control.Monad.Trans
Produced by Haddock version 0.8