Error +Control.Monad.Trans -package

module Control.Monad.Trans.Error
transformers Control.Monad.Trans.Error
This monad transformer adds the ability to fail or throw exceptions to a monad. A sequence of actions succeeds, producing a value, only if all the actions in the sequence are successful. If one fails with an error, the rest of the sequence is skipped and the composite action fails with that error. If the value of the error is not required, the variant in Control.Monad.Trans.Maybe may be used instead.
class Error a
transformers Control.Monad.Trans.Error, mtl Control.Monad.Error.Class, mtl Control.Monad.Error
An exception to be thrown. Minimal complete definition: noMsg or strMsg.
class ErrorList a
transformers Control.Monad.Trans.Error
Workaround so that we can have a Haskell 98 instance Error String.
ErrorT :: m (Either e a) -> ErrorT e m a
transformers Control.Monad.Trans.Error
newtype ErrorT e m a
transformers Control.Monad.Trans.Error
The error monad transformer. It can be used to add error handling to other monads. The ErrorT Monad structure is parameterized over two things: * e - The error type. * m - The inner monad. The return function yields a successful computation, while >>= sequences two subcomputations, failing on the first error.
catchError :: (Monad m, Error e) => ErrorT e m a -> (e -> ErrorT e m a) -> ErrorT e m a
transformers Control.Monad.Trans.Error
Handle an error. *  h (lift m) = lift *  h (throwError e) = h
mapErrorT :: (m (Either e a) -> n (Either e' b)) -> ErrorT e m a -> ErrorT e' n b
transformers Control.Monad.Trans.Error, mtl Control.Monad.Error
Map the unwrapped computation using the given function. *  (mapErrorT f m) = f (runErrorT >  
runErrorT :: ErrorT e m a -> m (Either e a)
transformers Control.Monad.Trans.Error
throwError :: (Monad m, Error e) => e -> ErrorT e m a
transformers Control.Monad.Trans.Error
Signal an error value e. *  (throwError e) = return > (Left *  e >>= m = throwError