 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.