pandora-0.3.1: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Pattern.Transformer.Hoistable

Synopsis

Documentation

class Hoistable t where Source #

When providing a new instance, you should ensure it satisfies one law:
* Identity morphism: hoist identity ≡ identity
* Interpreted of morphisms: hoist (f . g) ≡ hoist f . hoist g

Methods

hoist :: Covariant u => (u ~> v) -> t u ~> t v Source #

Instances
Hoistable Outline Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Outline

Methods

hoist :: Covariant u => (u ~> v) -> Outline u ~> Outline v Source #

Hoistable Tap Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Tap

Methods

hoist :: Covariant u => (u ~> v) -> Tap u ~> Tap v Source #

Hoistable Construction Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

hoist :: Covariant u => (u ~> v) -> Construction u ~> Construction v Source #

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

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

Methods

hoist :: Covariant u => (u ~> v) -> (t :> u) ~> (t :> v) Source #

Hoistable (Day t :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Day

Methods

hoist :: Covariant u => (u ~> v) -> Day t u ~> Day t v Source #

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

Defined in Pandora.Paradigm.Primary.Transformer.Backwards

Methods

hoist :: Covariant u => (u ~> v) -> Backwards u ~> Backwards v Source #

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

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

hoist :: Covariant u => (u ~> v) -> Reverse u ~> Reverse v Source #

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

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

Methods

hoist :: Covariant u => (u ~> v) -> (t :< u) ~> (t :< v) Source #

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

Defined in Pandora.Paradigm.Schemes.TU