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

Pandora.Pattern.Transformer.Lowerable

Synopsis

Documentation

class Lowerable cat t where Source #

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

Methods

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

Instances

Instances details
Lowerable ((->) :: Type -> Type -> Type) Tap Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Tap

Methods

lower :: Covariant (->) (->) u => Tap u a -> u a Source #

(forall (t :: Type -> Type). Bindable ((->) :: Type -> Type -> Type) t, forall (t :: Type -> Type). Monoidal (-->) (-->) (:*:) (:*:) t) => Lowerable ((->) :: Type -> Type -> Type) Instruction Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Instruction

Methods

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

(forall (u :: Type -> Type). Semimonoidal (<--) (:*:) (:*:) u) => Lowerable ((->) :: Type -> Type -> Type) Construction Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

lower :: Covariant (->) (->) u => Construction u a -> u a Source #

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

Defined in Pandora.Paradigm.Primary.Transformer.Backwards

Methods

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

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

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

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

Lowerable ((->) :: Type -> Type -> Type) (Schematic Comonad t) => Lowerable ((->) :: Type -> Type -> Type) ((:<) t) Source # 
Instance details

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

Methods

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

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

Defined in Pandora.Paradigm.Schemes.TUT

Methods

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

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

Defined in Pandora.Paradigm.Schemes.UT

Methods

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

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

Defined in Pandora.Paradigm.Schemes.TU

Methods

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

Monoidal (<--) (-->) (:*:) (:*:) t => Lowerable ((->) :: Type -> Type -> Type) (TT Covariant Covariant t :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.TT

Methods

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