Copyright | (C) 2024 Eitan Chatav |
---|---|
License | BSD 3-Clause License (see the file LICENSE) |
Maintainer | Eitan Chatav <eitan.chatav@gmail.com> |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
The continuation indexed monad transformer.
Documentation
newtype ContIx i j m x Source #
Instances
IxMonadTrans (ContIx :: Type -> Type -> (Type -> Type) -> Type -> Type) Source # | |
Defined in Control.Monad.Trans.Indexed.Cont apIx :: forall (m :: Type -> Type) (i :: k) (j :: k) x y (k1 :: k). Monad m => ContIx i j m (x -> y) -> ContIx j k1 m x -> ContIx i k1 m y Source # joinIx :: forall (m :: Type -> Type) (i :: k) (j :: k) (k1 :: k) y. Monad m => ContIx i j m (ContIx j k1 m y) -> ContIx i k1 m y Source # bindIx :: forall (m :: Type -> Type) x (j :: k) (k1 :: k) y (i :: k). Monad m => (x -> ContIx j k1 m y) -> ContIx i j m x -> ContIx i k1 m y Source # thenIx :: forall (m :: Type -> Type) (j :: k) (k1 :: k) y (i :: k) x. Monad m => ContIx j k1 m y -> ContIx i j m x -> ContIx i k1 m y Source # andThenIx :: forall (m :: Type -> Type) y (j :: k) (k1 :: k) z x (i :: k). Monad m => (y -> ContIx j k1 m z) -> (x -> ContIx i j m y) -> x -> ContIx i k1 m z Source # | |
i ~ j => MonadTrans (ContIx i j) Source # | |
Defined in Control.Monad.Trans.Indexed.Cont | |
i ~ j => Applicative (ContIx i j m) Source # | |
Defined in Control.Monad.Trans.Indexed.Cont | |
Functor (ContIx i j m) Source # | |
i ~ j => Monad (ContIx i j m) Source # | |
i ~ j => MonadCont (ContIx i j m) Source # | |
evalContIx :: Monad m => ContIx x j m j -> m x Source #
withContIx :: ((y -> m k) -> x -> m j) -> ContIx i j m x -> ContIx i k m y Source #