Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Pandora.Paradigm.Primary.Transformer.Continuation
Synopsis
- newtype Continuation r t a = Continuation ((((->) ::|:. a) :. t) := r)
- cwcc :: ((a -> Continuation r t b) -> Continuation r t a) -> Continuation r t a
- reset :: (forall u. Bindable (->) u, Monad (->) t) => Continuation r t r -> Continuation s t r
- shift :: Monoidal (-->) (-->) (:*:) (:*:) t => ((a -> t r) -> Continuation r t r) -> Continuation r t a
- interruptable :: Monoidal (-->) (-->) (:*:) (:*:) t => ((a -> Continuation a t a) -> Continuation a t a) -> t a
Documentation
newtype Continuation r t a Source #
Constructors
Continuation ((((->) ::|:. a) :. t) := r) |
Instances
(forall (u :: Type -> Type). Bindable ((->) :: Type -> Type -> Type) u) => Liftable ((->) :: Type -> Type -> Type) (Continuation r) Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Continuation Methods lift :: Covariant (->) (->) u => u a -> Continuation r u a Source # | |
Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t => Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Continuation r t) Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Continuation Methods (<-|-) :: (a -> b) -> Continuation r t a -> Continuation r t b Source # | |
Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t => Bindable ((->) :: Type -> Type -> Type) (Continuation r t) Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Continuation Methods (=<<) :: (a -> Continuation r t b) -> Continuation r t a -> Continuation r t b Source # | |
Interpreted ((->) :: Type -> Type -> Type) (Continuation r t) Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Continuation Associated Types type Primary (Continuation r t) a Source # Methods run :: Continuation r t a -> Primary (Continuation r t) a Source # unite :: Primary (Continuation r t) a -> Continuation r t a Source # (!) :: Continuation r t a -> Primary (Continuation r t) a Source # (||=) :: (Semigroupoid (->), Interpreted (->) u) => (Primary (Continuation r t) a -> Primary u b) -> Continuation r t a -> u b Source # (=||) :: (Semigroupoid (->), Interpreted (->) u) => (Continuation r t a -> u b) -> Primary (Continuation r t) a -> Primary u b Source # (<$||=) :: (Semigroupoid (->), Covariant (->) (->) j, Interpreted (->) u) => (Primary (Continuation r t) a -> Primary u b) -> (j := Continuation r t a) -> (j := u b) Source # (=||$>) :: (Covariant (->) (->) j, Interpreted (->) u) => (Continuation r t a -> u b) -> (j := Primary (Continuation r t) a) -> (j := Primary u b) Source # | |
type Primary (Continuation r t) a Source # | |
cwcc :: ((a -> Continuation r t b) -> Continuation r t a) -> Continuation r t a Source #
Call with current continuation
reset :: (forall u. Bindable (->) u, Monad (->) t) => Continuation r t r -> Continuation s t r Source #
Delimit the continuation of any shift
shift :: Monoidal (-->) (-->) (:*:) (:*:) t => ((a -> t r) -> Continuation r t r) -> Continuation r t a Source #
Capture the continuation up to the nearest enclosing reset
and pass it
interruptable :: Monoidal (-->) (-->) (:*:) (:*:) t => ((a -> Continuation a t a) -> Continuation a t a) -> t a Source #