cps-except-0.0.1.2: ExceptT replacement in CPS style
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Monad.CPSExcept

Documentation

newtype CPSExceptT e m a Source #

Constructors

CPSExceptT 

Fields

Instances

Instances details
MonadState s m => MonadState s (CPSExceptT e m) Source # 
Instance details

Defined in Control.Monad.CPSExcept

Methods

get :: CPSExceptT e m s #

put :: s -> CPSExceptT e m () #

state :: (s -> (a, s)) -> CPSExceptT e m a #

Monad m => MonadError e (CPSExceptT e m) Source # 
Instance details

Defined in Control.Monad.CPSExcept

Methods

throwError :: e -> CPSExceptT e m a #

catchError :: CPSExceptT e m a -> (e -> CPSExceptT e m a) -> CPSExceptT e m a #

MonadTrans (CPSExceptT e) Source # 
Instance details

Defined in Control.Monad.CPSExcept

Methods

lift :: Monad m => m a -> CPSExceptT e m a #

Monad m => Monad (CPSExceptT e m) Source # 
Instance details

Defined in Control.Monad.CPSExcept

Methods

(>>=) :: CPSExceptT e m a -> (a -> CPSExceptT e m b) -> CPSExceptT e m b #

(>>) :: CPSExceptT e m a -> CPSExceptT e m b -> CPSExceptT e m b #

return :: a -> CPSExceptT e m a #

Functor (CPSExceptT e m) Source # 
Instance details

Defined in Control.Monad.CPSExcept

Methods

fmap :: (a -> b) -> CPSExceptT e m a -> CPSExceptT e m b #

(<$) :: a -> CPSExceptT e m b -> CPSExceptT e m a #

Monad m => Applicative (CPSExceptT e m) Source # 
Instance details

Defined in Control.Monad.CPSExcept

Methods

pure :: a -> CPSExceptT e m a #

(<*>) :: CPSExceptT e m (a -> b) -> CPSExceptT e m a -> CPSExceptT e m b #

liftA2 :: (a -> b -> c) -> CPSExceptT e m a -> CPSExceptT e m b -> CPSExceptT e m c #

(*>) :: CPSExceptT e m a -> CPSExceptT e m b -> CPSExceptT e m b #

(<*) :: CPSExceptT e m a -> CPSExceptT e m b -> CPSExceptT e m a #

mapCPSExceptT :: (Monad m, Monad n) => (m (Either e a) -> n (Either e' b)) -> CPSExceptT e m a -> CPSExceptT e' n b Source #

withExceptT :: Functor m => (e -> e') -> CPSExceptT e m a -> CPSExceptT e' m a Source #