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

Pandora.Pattern.Functor.Contravariant

Synopsis

Documentation

class (Category source, Category target) => Contravariant t source target where Source #

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

Methods

(->$<-) :: source a b -> target (t b) (t a) infixl 4 Source #

Instances

Instances details
Contravariant Predicate ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Predicate

Methods

(->$<-) :: (a -> b) -> Predicate b -> Predicate a Source #

Contravariant (Proxy :: Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Proxy

Methods

(->$<-) :: (a -> b) -> Proxy b -> Proxy a Source #

Contravariant (Convergence r) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Convergence

Methods

(->$<-) :: (a -> b) -> Convergence r b -> Convergence r a Source #

Contravariant (Flip ((->) :: Type -> Type -> Type) a) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Algebraic.Exponential

Methods

(->$<-) :: (a0 -> b) -> Flip (->) a b -> Flip (->) a a0 Source #

Contravariant (Flip Imprint a) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Imprint

Methods

(->$<-) :: (a0 -> b) -> Flip Imprint a b -> Flip Imprint a a0 Source #

Contravariant (Flip Environment a) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Inventory.Environment

Methods

(->$<-) :: (a0 -> b) -> Flip Environment a b -> Flip Environment a a0 Source #

Contravariant (Constant a :: Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Constant

Methods

(->$<-) :: (a0 -> b) -> Constant a b -> Constant a a0 Source #

Contravariant t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Contravariant (Backwards t) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Backwards

Methods

(->$<-) :: (a -> b) -> Backwards t b -> Backwards t a Source #

Contravariant t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) => Contravariant (Reverse t) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

(->$<-) :: (a -> b) -> Reverse t b -> Reverse t a Source #

(Divariant p ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type), Contravariant t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type), Covariant u ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type)) => Covariant ((t >:.:> u) := p) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.T_U

Methods

(-<$>-) :: (a -> b) -> ((t >:.:> u) := p) a -> ((t >:.:> u) := p) b Source #

(forall i. Covariant (p i) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type), Bivariant p ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type), Contravariant t ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type), Contravariant u ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type)) => Contravariant ((t >:.:< u) := p) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.T_U

Methods

(->$<-) :: (a -> b) -> ((t >:.:< u) := p) b -> ((t >:.:< u) := p) a Source #

Contravariant (Kan ('Left :: Type -> Wye Type) t u b) ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Kan

Methods

(->$<-) :: (a -> b0) -> Kan 'Left t u b b0 -> Kan 'Left t u b a Source #