pandora-0.3.0: A box of patterns and paradigms

Safe HaskellSafe
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
Lowerable Tap Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Tap

Methods

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

Lowerable Construction Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

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

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

Defined in Pandora.Paradigm.Primary.Transformer.Day

Methods

lower :: 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 :: Covariant u => Backwards u ~> u Source #

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

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

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

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

Defined in Pandora.Paradigm.Schemes.TUT

Methods

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

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

Defined in Pandora.Paradigm.Schemes.UT

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

Defined in Pandora.Paradigm.Schemes.TU