hs-ix-0.1.1.0: Indexed monads

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Indexed.Trans.Cont

Documentation

newtype ContT f i j a Source #

Constructors

ContT 

Fields

Instances
IxMonad (ContT f :: k -> k -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Indexed.Trans.Cont

Methods

ijoin :: ContT f i j (ContT f j k0 a) -> ContT f i k0 a Source #

ibind :: (a -> ContT f j k0 b) -> ContT f i j a -> ContT f i k0 b Source #

IxApplicative (ContT f :: k -> k -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Indexed.Trans.Cont

Methods

ipure :: a -> ContT f k0 k0 a Source #

iap :: ContT f i j (a -> b) -> ContT f j k0 a -> ContT f i k0 b Source #

Monad (ContT f k2 k2) Source # 
Instance details

Defined in Control.Monad.Indexed.Trans.Cont

Methods

(>>=) :: ContT f k2 k2 a -> (a -> ContT f k2 k2 b) -> ContT f k2 k2 b #

(>>) :: ContT f k2 k2 a -> ContT f k2 k2 b -> ContT f k2 k2 b #

return :: a -> ContT f k2 k2 a #

fail :: String -> ContT f k2 k2 a #

Functor (ContT f i j) Source # 
Instance details

Defined in Control.Monad.Indexed.Trans.Cont

Methods

fmap :: (a -> b) -> ContT f i j a -> ContT f i j b #

(<$) :: a -> ContT f i j b -> ContT f i j a #

MonadFail m => MonadFail (ContT m k k) Source # 
Instance details

Defined in Control.Monad.Indexed.Trans.Cont

Methods

fail :: String -> ContT m k k a #

Applicative (ContT f k2 k2) Source # 
Instance details

Defined in Control.Monad.Indexed.Trans.Cont

Methods

pure :: a -> ContT f k2 k2 a #

(<*>) :: ContT f k2 k2 (a -> b) -> ContT f k2 k2 a -> ContT f k2 k2 b #

liftA2 :: (a -> b -> c) -> ContT f k2 k2 a -> ContT f k2 k2 b -> ContT f k2 k2 c #

(*>) :: ContT f k2 k2 a -> ContT f k2 k2 b -> ContT f k2 k2 b #

(<*) :: ContT f k2 k2 a -> ContT f k2 k2 b -> ContT f k2 k2 a #

Alternative p => Alternative (ContT p k k) Source # 
Instance details

Defined in Control.Monad.Indexed.Trans.Cont

Methods

empty :: ContT p k k a #

(<|>) :: ContT p k k a -> ContT p k k a -> ContT p k k a #

some :: ContT p k k a -> ContT p k k [a] #

many :: ContT p k k a -> ContT p k k [a] #

Alternative p => MonadPlus (ContT p k k) Source # 
Instance details

Defined in Control.Monad.Indexed.Trans.Cont

Methods

mzero :: ContT p k k a #

mplus :: ContT p k k a -> ContT p k k a -> ContT p k k a #

lift :: Monad m => m a -> ContT m i i a Source #

evalContT :: Applicative p => ContT p a a a -> p a Source #

mapContT :: (f i -> f j) -> ContT f i k a -> ContT f j k a Source #

withContT :: ((b -> f j) -> a -> f k) -> ContT f i k a -> ContT f i j b Source #

callCC :: ((a -> ContT f j k b) -> ContT f i j a) -> ContT f i j a Source #

resetT :: Monad m => ContT m a i i -> ContT m j j a Source #

shiftT :: Monad m => ((a -> m j) -> ContT m i k k) -> ContT m i j a Source #