pandora-0.4.6: A box of patterns and paradigms
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pandora.Pattern.Transformer.Liftable

Synopsis

Documentation

class Liftable cat t where Source #

When providing a new instance, you should ensure it satisfies one law:
* Interchange: lift . point ≡ point

Methods

lift :: Covariant cat cat u => cat (u a) (t u a) Source #

Instances

Instances details
Liftable ((->) :: Type -> Type -> Type) Yoneda Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Yoneda

Methods

lift :: Covariant (->) (->) u => u a -> Yoneda u a Source #

Liftable ((->) :: Type -> Type -> Type) Outline Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Outline

Methods

lift :: Covariant (->) (->) u => u a -> Outline u a Source #

Liftable ((->) :: Type -> Type -> Type) Jack Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Jack

Methods

lift :: Covariant (->) (->) u => u a -> Jack u a Source #

Liftable ((->) :: Type -> Type -> Type) Instruction Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Instruction

Methods

lift :: Covariant (->) (->) u => u a -> Instruction u a Source #

Liftable ((->) :: Type -> Type -> Type) (Schematic Monad t) => Liftable ((->) :: Type -> Type -> Type) ((:>) t) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

lift :: Covariant (->) (->) u => u a -> (t :> u) a Source #

Liftable ((->) :: Type -> Type -> Type) (Backwards :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Backwards

Methods

lift :: Covariant (->) (->) u => u a -> Backwards u a Source #

Liftable ((->) :: Type -> Type -> Type) (Reverse :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

lift :: Covariant (->) (->) u => u a -> Reverse u a Source #

(forall (u :: Type -> Type). Bindable ((->) :: Type -> Type -> Type) u) => Liftable ((->) :: Type -> Type -> Type) (Continuation r) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Continuation

Methods

lift :: Covariant (->) (->) u => u a -> Continuation r u a Source #

(Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t' t, Distributive ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t) => Liftable ((->) :: Type -> Type -> Type) (t <:<.>:> t') Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.TUT

Methods

lift :: Covariant (->) (->) u => u a -> (t <:<.>:> t') u a Source #

Monoidal ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (:*:) (:*:) t => Liftable ((->) :: Type -> Type -> Type) (UT Covariant Covariant t) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.UT

Methods

lift :: Covariant (->) (->) u => u a -> UT Covariant Covariant t u a Source #

Monoidal ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (:*:) (:*:) t => Liftable ((->) :: Type -> Type -> Type) (TU Covariant Covariant t :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.TU

Methods

lift :: Covariant (->) (->) u => u a -> TU Covariant Covariant t u a Source #