Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class Monad m => MonadExcept tag e m | m tag -> e where
- throw :: MonadExcept tag e m => e -> m a
- catch :: MonadExcept tag e m => m a -> (e -> m a) -> m a
- type Except tag e = ExceptT tag e Identity
- runExcept :: forall tag e a. Except tag e a -> Either e a
- type ExceptT tag e = TaggedTrans (TAGGED EXCEPT tag) (ExceptT e)
- exceptT :: forall tag e m a. m (Either e a) -> ExceptT tag e m a
- runExceptT :: forall tag e m a. ExceptT tag e m a -> m (Either e a)
- 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)
- data TAGGED e t
- data EXCEPT
MonadExcept class
class Monad m => MonadExcept tag e m | m tag -> e where Source #
Is used within a monadic computation to begin exception processing.
catch :: m a -> (e -> m a) -> m a Source #
A TaggedTrans function to handle previous exceptions and return to normal execution.
(LiftCatch t, Monad (t m), MonadExcept k tag e m) => MonadExcept k tag e (t m) Source # | |
(MonadExcept k1 tNew e m, (~) ((* -> *) -> * -> *) trans (IdentityT *)) => MonadExcept k tOld e (TaggedTrans * (* -> *) * (TAG_REPLACE k1 k tOld tNew) trans m) Source # | |
throw :: MonadExcept tag e m => e -> m a Source #
Is used within a monadic computation to begin exception processing.
catch :: MonadExcept tag e m => m a -> (e -> m a) -> m a Source #
A TaggedTrans function to handle previous exceptions and return to normal execution.
The Except monad
runExcept :: forall tag e a. Except tag e a -> Either e a Source #
Runs an Except
and returns either an exception or a normal value.
The ExceptT monad transformer
exceptT :: forall tag e m a. m (Either e a) -> ExceptT tag e m a Source #
Constructor for computations in the exception monad transformer.
runExceptT :: forall tag e m a. ExceptT tag e m a -> m (Either e a) Source #
Runs an ExceptT
and returns either an exception or a normal value.
MonadExcept class (implicit)
type MonadExcept' e = MonadExcept e e Source #
throw' :: forall e m a. MonadExcept' e m => e -> m a Source #
catch' :: forall e m a. MonadExcept' e m => m a -> (e -> m a) -> m a Source #
The Except monad (implicit)
runExcept' :: Except' e a -> Either e a Source #
The ExceptT monad transformer (implicit)
runExceptT' :: ExceptT' e m a -> m (Either e a) Source #