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

Pandora.Pattern.Transformer.Lowerable

Synopsis

Documentation

class Lowerable t where Source #

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

Methods

lower :: Covariant u => t u ~> u Source #

Instances

Instances details
(forall (t :: Type -> Type). Monad t) => Lowerable Instruction Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Instruction

Methods

lower :: forall (u :: Type -> Type). Covariant u => Instruction u ~> u Source #

Lowerable Construction Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

lower :: forall (u :: Type -> Type). Covariant u => Construction u ~> u Source #

Lowerable Tap Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Tap

Methods

lower :: forall (u :: Type -> Type). Covariant u => Tap u ~> u Source #

Extractable t => Lowerable (Day t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Day

Methods

lower :: forall (u :: Type -> Type). Covariant u => Day t u ~> u Source #

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

Defined in Pandora.Paradigm.Primary.Transformer.Backwards

Methods

lower :: forall (u :: Type -> Type). Covariant u => Backwards u ~> u Source #

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

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

lower :: forall (u :: Type -> Type). Covariant u => Reverse u ~> u Source #

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

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

Methods

lower :: forall (u :: Type -> Type). Covariant u => (t :< u) ~> u Source #

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

Defined in Pandora.Paradigm.Schemes.TUT

Methods

lower :: forall (u :: Type -> Type). Covariant u => (t <:<.>:> t') u ~> u Source #

Extractable t => Lowerable (UT Covariant Covariant t) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.UT

Methods

lower :: forall (u :: Type -> Type). Covariant u => UT Covariant Covariant t u ~> u Source #

Extractable t => Lowerable (TU Covariant Covariant t :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.TU

Methods

lower :: forall (u :: Type -> Type). Covariant u => TU Covariant Covariant t u ~> u Source #