| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Control.Monad.Ether.Except
Description
See Control.Monad.Except.
- class Monad m => MonadExcept tag e m | m tag -> e where
- type Except tag e = ExceptT tag e Identity
- runExcept :: proxy tag -> Except tag e a -> Either e a
- data ExceptT tag e m a
- exceptT :: proxy tag -> m (Either e a) -> ExceptT tag e m a
- runExceptT :: proxy tag -> ExceptT tag e m a -> m (Either e a)
- mapExceptT :: proxy tag -> (m (Either e a) -> n (Either e' b)) -> ExceptT tag e m a -> ExceptT tag e' n b
MonadExcept class
class Monad m => MonadExcept tag e m | m tag -> e where Source
See MonadError.
Methods
throw :: proxy tag -> e -> m a Source
Is used within a monadic computation to begin exception processing.
catch :: proxy tag -> m a -> (e -> m a) -> m a Source
A handler function to handle previous exceptions and return to normal execution.
Instances
| MonadExcept tag e m => MonadExcept tag e (MaybeT m) | |
| MonadExcept tag e m => MonadExcept tag e (ListT m) | |
| MonadExcept tag e m => MonadExcept tag e (IdentityT m) | |
| (Monoid w, MonadExcept tag e m) => MonadExcept tag e (WriterT w m) | |
| (Monoid w, MonadExcept tag e m) => MonadExcept tag e (WriterT w m) | |
| MonadExcept tag e m => MonadExcept tag e (StateT s m) | |
| MonadExcept tag e m => MonadExcept tag e (StateT s m) | |
| MonadExcept tag e m => MonadExcept tag e (ReaderT r m) | |
| MonadExcept tag e m => MonadExcept tag e (ExceptT e' m) | |
| MonadExcept tag e m => MonadExcept tag e (WrappedEther tag' m) | |
| MonadExcept tag e m => MonadExcept tag e (StateT tag' s m) | |
| MonadExcept tag e m => MonadExcept tag e (StateT tag' s m) | |
| (Monoid w, MonadExcept tag e m) => MonadExcept tag e (WriterT tag' w m) | |
| MonadExcept tag e m => MonadExcept tag e (ReaderT tag' r m) | |
| MonadExcept tag e m => MonadExcept tag e (ExceptT tag' e' m) | |
| Monad m => MonadExcept tag e (ExceptT tag e m) |
The Except monad
runExcept :: proxy tag -> Except tag e a -> Either e a Source
Runs an Except and returns either an exception or a normal value.
The ExceptT monad transformer
The exception monad transformer.
The return function returns a normal value, while >>= exits on
the first exception.
Instances
| MonadReader tag r m => MonadReader tag r (ExceptT tag' e m) | |
| MonadState tag s m => MonadState tag s (ExceptT tag' e m) | |
| MonadExcept tag e m => MonadExcept tag e (ExceptT tag' e' m) | |
| Monad m => MonadExcept tag e (ExceptT tag e m) | |
| MonadWriter tag w m => MonadWriter tag w (ExceptT tag' e m) | |
| MonadError e' m => MonadError e' (ExceptT tag e m) | |
| MonadReader r m => MonadReader r (ExceptT tag e m) | |
| MonadState s m => MonadState s (ExceptT tag e m) | |
| MonadWriter w m => MonadWriter w (ExceptT tag e m) | |
| MonadTrans (ExceptT tag e) | |
| (Monad m, Functor m, Monoid e) => Alternative (ExceptT tag e m) | |
| Monad m => Monad (ExceptT tag e m) | |
| Functor m => Functor (ExceptT tag e m) | |
| MonadFix m => MonadFix (ExceptT tag e m) | |
| (Monad m, Monoid e) => MonadPlus (ExceptT tag e m) | |
| (Monad m, Functor m) => Applicative (ExceptT tag e m) | |
| MonadIO m => MonadIO (ExceptT tag e m) | |
| MonadCont m => MonadCont (ExceptT tag e m) | |
| Taggable (ExceptT tag e m) | |
| Tagged (ExceptT tag e m) tag | |
| Generic (ExceptT tag e m a) | |
| Newtype (ExceptT tag e m a) | |
| type Untagged (ExceptT tag e m) = ExceptT e m | |
| type Tag (ExceptT tag e m) = Just * tag | |
| type Inner (ExceptT tag e m) = Just (* -> *) m | |
| type Rep (ExceptT tag e m a) | |
| type O (ExceptT tag e m a) = GO (Rep (ExceptT tag e m a)) |
exceptT :: proxy tag -> m (Either e a) -> ExceptT tag e m a Source
Constructor for computations in the exception monad transformer.
runExceptT :: proxy tag -> ExceptT tag e m a -> m (Either e a) Source
Runs an ExceptT and returns either an exception or a normal value.
mapExceptT :: proxy tag -> (m (Either e a) -> n (Either e' b)) -> ExceptT tag e m a -> ExceptT tag e' n b Source
Transforms the computation inside an ExceptT.
runExceptTtag (mapExceptTtag f m) = f (runExceptTtag m)