- class Monad m => MonadAbort m where
- type AbortResultType m
- abort :: AbortResultType m -> m a
- type Abort r = AbortT r Identity
- runAbort :: Abort r r -> r
- newtype AbortT r m a = AbortT {
- unwrapAbortT :: m (Either r a)
- runAbortT :: Monad m => AbortT r m r -> m r
- mapAbortT :: (m (Either r a) -> n (Either r' b)) -> AbortT r m a -> AbortT r' n b
Monads that can immediately return a result
class Monad m => MonadAbort m whereSource
type AbortResultType m Source
abort :: AbortResultType m -> m aSource
MonadAbort m => MonadAbort (ListT m) | |
MonadAbort m => MonadAbort (MaybeT m) | |
MonadAbort m => MonadAbort (IdentityT m) | |
Monad m => MonadAbort (AbortT r m) | |
(MonadAbort m, Error e) => MonadAbort (ErrorT e m) | |
MonadAbort m => MonadAbort (ReaderT r m) | |
MonadAbort m => MonadAbort (StateT s m) | |
MonadAbort m => MonadAbort (StateT s m) | |
(MonadAbort m, Monoid w) => MonadAbort (WriterT w m) | |
(MonadAbort m, Monoid w) => MonadAbort (WriterT w m) | |
(MonadAbort m, Monoid w) => MonadAbort (RWST r w s m) | |
(MonadAbort m, Monoid w) => MonadAbort (RWST r w s m) |
The Abort monad
:: Abort r r | the monadic computation to run |
-> r | the result of the computation |
Execute the abort monad computation and return the resulting value.
The AbortT monad transformer
newtype AbortT r m a
An abort monad transformer parametrized by
-
r
- the value that will ultimately be returned; and -
m
- the inner monad.
The AbortT
type wraps a monadic value that is either
AbortT | |
|
MonadTrans (AbortT r) | |
Monad m => Monad (AbortT r m) | |
Functor m => Functor (AbortT r m) | |
Applicative m => Applicative (AbortT r m) | |
MonadIO m => MonadIO (AbortT r m) | |
MonadRWS m => MonadRWS (AbortT r m) | |
MonadWriter m => MonadWriter (AbortT r m) | |
MonadState m => MonadState (AbortT r m) | |
MonadReader m => MonadReader (AbortT r m) | |
MonadError m => MonadError (AbortT r m) | |
MonadCont m => MonadCont (AbortT r m) | |
Monad m => MonadAbort (AbortT r m) |
:: Monad m | |
=> AbortT r m r | the monadic computation to run |
-> m r | the (monadic) result of the computation |
Execute the abort monad computation and return the resulting (monadic) value.