Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
- 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 where Source
type AbortResultType m Source
abort :: AbortResultType m -> m a Source
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; andm
- 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) | |
type WriterType (AbortT r m) = WriterType m | |
type StateType (AbortT r m) = StateType m | |
type EnvType (AbortT r m) = EnvType m | |
type ErrorType (AbortT r m) = ErrorType m | |
type AbortResultType (AbortT r m) = r |
:: forall (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.