| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Control.Monad.Ether.Implicit.Except
Description
- type MonadExcept e = MonadExcept e e
- throw :: forall e m a. MonadExcept e m => e -> m a
- catch :: forall e m a. MonadExcept e m => m a -> (e -> m a) -> m a
- type Except e = Except e e
- runExcept :: Except e a -> Either e a
- type ExceptT e = ExceptT e e
- exceptT :: m (Either e a) -> ExceptT e m a
- runExceptT :: ExceptT e m a -> m (Either e a)
- mapExceptT :: (m (Either e a) -> n (Either e b)) -> ExceptT e m a -> ExceptT e n b
MonadExcept class
type MonadExcept e = MonadExcept e e Source
See MonadExcept.
throw :: forall e m a. MonadExcept e m => e -> m a Source
See throw.
catch :: forall e m a. MonadExcept e m => m a -> (e -> m a) -> m a Source
See catch.
The Except monad
The ExceptT monad transformer
runExceptT :: ExceptT e m a -> m (Either e a) Source
See runExceptT.
mapExceptT :: (m (Either e a) -> n (Either e b)) -> ExceptT e m a -> ExceptT e n b Source
See mapExceptT.
Note that due to implicit tagging the exception type cannot be changed.