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

Pandora.Pattern.Functor.Contravariant

Synopsis

Documentation

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

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

Minimal complete definition

(>-|-)

Methods

(>-|-) :: source a b -> target (t b) (t a) infixl 6 Source #

(>-|--) :: source a b -> target (t b) (t a) infixl 5 Source #

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

(>-|----) :: source a b -> target (t b) (t a) infixl 3 Source #

(>-|-----) :: source a b -> target (t b) (t a) infixl 2 Source #

(>-|------) :: source a b -> target (t b) (t a) infixl 1 Source #

(>-|-------) :: source a b -> target (t b) (t a) Source #

(>-|--------) :: source a b -> target (t b) (t a) Source #

(>-|-|-) :: (Contravariant source (Betwixt source target) u, Contravariant (Betwixt source target) target t) => source a b -> target (t (u a)) (t (u b)) infixl 4 Source #

Instances

Instances details
(Category m, Covariant m m t) => Contravariant m (Flip m) t Source # 
Instance details

Defined in Pandora.Pattern.Morphism.Flip

Methods

(>-|-) :: m a b -> Flip m (t b) (t a) Source #

(>-|--) :: m a b -> Flip m (t b) (t a) Source #

(>-|---) :: m a b -> Flip m (t b) (t a) Source #

(>-|----) :: m a b -> Flip m (t b) (t a) Source #

(>-|-----) :: m a b -> Flip m (t b) (t a) Source #

(>-|------) :: m a b -> Flip m (t b) (t a) Source #

(>-|-------) :: m a b -> Flip m (t b) (t a) Source #

(>-|--------) :: m a b -> Flip m (t b) (t a) Source #

(>-|-|-) :: (Contravariant m (Betwixt m (Flip m)) u, Contravariant (Betwixt m (Flip m)) (Flip m) t) => m a b -> Flip m (t (u a)) (t (u b)) Source #

(Category m, Covariant m m t) => Contravariant (Flip m) m t Source # 
Instance details

Defined in Pandora.Pattern.Morphism.Flip

Methods

(>-|-) :: Flip m a b -> m (t b) (t a) Source #

(>-|--) :: Flip m a b -> m (t b) (t a) Source #

(>-|---) :: Flip m a b -> m (t b) (t a) Source #

(>-|----) :: Flip m a b -> m (t b) (t a) Source #

(>-|-----) :: Flip m a b -> m (t b) (t a) Source #

(>-|------) :: Flip m a b -> m (t b) (t a) Source #

(>-|-------) :: Flip m a b -> m (t b) (t a) Source #

(>-|--------) :: Flip m a b -> m (t b) (t a) Source #

(>-|-|-) :: (Contravariant (Flip m) (Betwixt (Flip m) m) u, Contravariant (Betwixt (Flip m) m) m t) => Flip m a b -> m (t (u a)) (t (u b)) Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Predicate

Methods

(>-|-) :: (a -> b) -> Predicate b -> Predicate a Source #

(>-|--) :: (a -> b) -> Predicate b -> Predicate a Source #

(>-|---) :: (a -> b) -> Predicate b -> Predicate a Source #

(>-|----) :: (a -> b) -> Predicate b -> Predicate a Source #

(>-|-----) :: (a -> b) -> Predicate b -> Predicate a Source #

(>-|------) :: (a -> b) -> Predicate b -> Predicate a Source #

(>-|-------) :: (a -> b) -> Predicate b -> Predicate a Source #

(>-|--------) :: (a -> b) -> Predicate b -> Predicate a Source #

(>-|-|-) :: (Contravariant (->) (Betwixt (->) (->)) u, Contravariant (Betwixt (->) (->)) (->) Predicate) => (a -> b) -> Predicate (u a) -> Predicate (u b) Source #

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

Defined in Pandora.Paradigm.Algebraic.Exponential

Methods

(>-|-) :: (a0 -> b) -> (a <-- b) -> (a <-- a0) Source #

(>-|--) :: (a0 -> b) -> (a <-- b) -> (a <-- a0) Source #

(>-|---) :: (a0 -> b) -> (a <-- b) -> (a <-- a0) Source #

(>-|----) :: (a0 -> b) -> (a <-- b) -> (a <-- a0) Source #

(>-|-----) :: (a0 -> b) -> (a <-- b) -> (a <-- a0) Source #

(>-|------) :: (a0 -> b) -> (a <-- b) -> (a <-- a0) Source #

(>-|-------) :: (a0 -> b) -> (a <-- b) -> (a <-- a0) Source #

(>-|--------) :: (a0 -> b) -> (a <-- b) -> (a <-- a0) Source #

(>-|-|-) :: (Contravariant (->) (Betwixt (->) (->)) u, Contravariant (Betwixt (->) (->)) (->) ((<--) a)) => (a0 -> b) -> (a <-- u a0) -> (a <-- u b) Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Proxy

Methods

(>-|-) :: (a -> b) -> Proxy b -> Proxy a Source #

(>-|--) :: (a -> b) -> Proxy b -> Proxy a Source #

(>-|---) :: (a -> b) -> Proxy b -> Proxy a Source #

(>-|----) :: (a -> b) -> Proxy b -> Proxy a Source #

(>-|-----) :: (a -> b) -> Proxy b -> Proxy a Source #

(>-|------) :: (a -> b) -> Proxy b -> Proxy a Source #

(>-|-------) :: (a -> b) -> Proxy b -> Proxy a Source #

(>-|--------) :: (a -> b) -> Proxy b -> Proxy a Source #

(>-|-|-) :: (Contravariant (->) (Betwixt (->) (->)) u, Contravariant (Betwixt (->) (->)) (->) Proxy) => (a -> b) -> Proxy (u a) -> Proxy (u b) Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Convergence

Methods

(>-|-) :: (a -> b) -> Convergence r b -> Convergence r a Source #

(>-|--) :: (a -> b) -> Convergence r b -> Convergence r a Source #

(>-|---) :: (a -> b) -> Convergence r b -> Convergence r a Source #

(>-|----) :: (a -> b) -> Convergence r b -> Convergence r a Source #

(>-|-----) :: (a -> b) -> Convergence r b -> Convergence r a Source #

(>-|------) :: (a -> b) -> Convergence r b -> Convergence r a Source #

(>-|-------) :: (a -> b) -> Convergence r b -> Convergence r a Source #

(>-|--------) :: (a -> b) -> Convergence r b -> Convergence r a Source #

(>-|-|-) :: (Contravariant (->) (Betwixt (->) (->)) u, Contravariant (Betwixt (->) (->)) (->) (Convergence r)) => (a -> b) -> Convergence r (u a) -> Convergence r (u b) Source #

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

Defined in Pandora.Paradigm.Inventory.Some.Provision

Methods

(>-|-) :: (a0 -> b) -> Flip Provision a b -> Flip Provision a a0 Source #

(>-|--) :: (a0 -> b) -> Flip Provision a b -> Flip Provision a a0 Source #

(>-|---) :: (a0 -> b) -> Flip Provision a b -> Flip Provision a a0 Source #

(>-|----) :: (a0 -> b) -> Flip Provision a b -> Flip Provision a a0 Source #

(>-|-----) :: (a0 -> b) -> Flip Provision a b -> Flip Provision a a0 Source #

(>-|------) :: (a0 -> b) -> Flip Provision a b -> Flip Provision a a0 Source #

(>-|-------) :: (a0 -> b) -> Flip Provision a b -> Flip Provision a a0 Source #

(>-|--------) :: (a0 -> b) -> Flip Provision a b -> Flip Provision a a0 Source #

(>-|-|-) :: (Contravariant (->) (Betwixt (->) (->)) u, Contravariant (Betwixt (->) (->)) (->) (Flip Provision a)) => (a0 -> b) -> Flip Provision a (u a0) -> Flip Provision a (u b) Source #

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

Defined in Pandora.Paradigm.Inventory.Some.Imprint

Methods

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

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

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

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

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

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

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

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

(>-|-|-) :: (Contravariant (->) (Betwixt (->) (->)) u, Contravariant (Betwixt (->) (->)) (->) (Flip Imprint a)) => (a0 -> b) -> Flip Imprint a (u a0) -> Flip Imprint a (u b) Source #

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

Defined in Pandora.Paradigm.Primary.Functor.Constant

Methods

(>-|-) :: (a0 -> b) -> Constant a b -> Constant a a0 Source #

(>-|--) :: (a0 -> b) -> Constant a b -> Constant a a0 Source #

(>-|---) :: (a0 -> b) -> Constant a b -> Constant a a0 Source #

(>-|----) :: (a0 -> b) -> Constant a b -> Constant a a0 Source #

(>-|-----) :: (a0 -> b) -> Constant a b -> Constant a a0 Source #

(>-|------) :: (a0 -> b) -> Constant a b -> Constant a a0 Source #

(>-|-------) :: (a0 -> b) -> Constant a b -> Constant a a0 Source #

(>-|--------) :: (a0 -> b) -> Constant a b -> Constant a a0 Source #

(>-|-|-) :: (Contravariant (->) (Betwixt (->) (->)) u, Contravariant (Betwixt (->) (->)) (->) (Constant a)) => (a0 -> b) -> Constant a (u a0) -> Constant a (u b) Source #

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

Defined in Pandora.Paradigm.Primary.Transformer.Backwards

Methods

(>-|-) :: (a -> b) -> Backwards t b -> Backwards t a Source #

(>-|--) :: (a -> b) -> Backwards t b -> Backwards t a Source #

(>-|---) :: (a -> b) -> Backwards t b -> Backwards t a Source #

(>-|----) :: (a -> b) -> Backwards t b -> Backwards t a Source #

(>-|-----) :: (a -> b) -> Backwards t b -> Backwards t a Source #

(>-|------) :: (a -> b) -> Backwards t b -> Backwards t a Source #

(>-|-------) :: (a -> b) -> Backwards t b -> Backwards t a Source #

(>-|--------) :: (a -> b) -> Backwards t b -> Backwards t a Source #

(>-|-|-) :: (Contravariant (->) (Betwixt (->) (->)) u, Contravariant (Betwixt (->) (->)) (->) (Backwards t)) => (a -> b) -> Backwards t (u a) -> Backwards t (u b) Source #

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

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

(>-|-) :: (a -> b) -> Reverse t b -> Reverse t a Source #

(>-|--) :: (a -> b) -> Reverse t b -> Reverse t a Source #

(>-|---) :: (a -> b) -> Reverse t b -> Reverse t a Source #

(>-|----) :: (a -> b) -> Reverse t b -> Reverse t a Source #

(>-|-----) :: (a -> b) -> Reverse t b -> Reverse t a Source #

(>-|------) :: (a -> b) -> Reverse t b -> Reverse t a Source #

(>-|-------) :: (a -> b) -> Reverse t b -> Reverse t a Source #

(>-|--------) :: (a -> b) -> Reverse t b -> Reverse t a Source #

(>-|-|-) :: (Contravariant (->) (Betwixt (->) (->)) u, Contravariant (Betwixt (->) (->)) (->) (Reverse t)) => (a -> b) -> Reverse t (u a) -> Reverse t (u b) Source #

(Contravariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) t, forall a. Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (p (t a)), Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) u, forall b. Contravariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Flip p (u b))) => Covariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((t >:.:> u) > p) Source # 
Instance details

Defined in Pandora.Paradigm.Schemes.T_U

Methods

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

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

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

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

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

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

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

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

(<-|-|-) :: (Covariant (->) (Betwixt (->) (->)) u0, Covariant (Betwixt (->) (->)) (->) ((t >:.:> u) > p)) => (a -> b) -> ((t >:.:> u) > p) (u0 a) -> ((t >:.:> u) > p) (u0 b) Source #

(<-|-|--) :: (Covariant (->) (Betwixt (->) (->)) u0, Covariant (Betwixt (->) (->)) (->) ((t >:.:> u) > p)) => (a -> b) -> ((t >:.:> u) > p) (u0 a) -> ((t >:.:> u) > p) (u0 b) Source #

(<-|-|---) :: (Covariant (->) (Betwixt (->) (->)) u0, Covariant (Betwixt (->) (->)) (->) ((t >:.:> u) > p)) => (a -> b) -> ((t >:.:> u) > p) (u0 a) -> ((t >:.:> u) > p) (u0 b) Source #

(<-|-|----) :: (Covariant (->) (Betwixt (->) (->)) u0, Covariant (Betwixt (->) (->)) (->) ((t >:.:> u) > p)) => (a -> b) -> ((t >:.:> u) > p) (u0 a) -> ((t >:.:> u) > p) (u0 b) Source #

(<-|-|-----) :: (Covariant (->) (Betwixt (->) (->)) u0, Covariant (Betwixt (->) (->)) (->) ((t >:.:> u) > p)) => (a -> b) -> ((t >:.:> u) > p) (u0 a) -> ((t >:.:> u) > p) (u0 b) Source #

(<-|-|------) :: (Covariant (->) (Betwixt (->) (->)) u0, Covariant (Betwixt (->) (->)) (->) ((t >:.:> u) > p)) => (a -> b) -> ((t >:.:> u) > p) (u0 a) -> ((t >:.:> u) > p) (u0 b) Source #

(<-|-|-------) :: (Covariant (->) (Betwixt (->) (->)) u0, Covariant (Betwixt (->) (->)) (->) ((t >:.:> u) > p)) => (a -> b) -> ((t >:.:> u) > p) (u0 a) -> ((t >:.:> u) > p) (u0 b) Source #

(<-|-|-|-) :: (Covariant (->) (Betwixt (->) (Betwixt (->) (->))) v, Covariant (Betwixt (->) (Betwixt (->) (->))) (Betwixt (Betwixt (->) (->)) (->)) u0, Covariant (Betwixt (Betwixt (->) (->)) (->)) (->) ((t >:.:> u) > p)) => (a -> b) -> ((t >:.:> u) > p) (u0 (v a)) -> ((t >:.:> u) > p) (u0 (v b)) Source #

Contravariant ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (Kan ('Left :: Type -> Wye Type) t u b) 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 #

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

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

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

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

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

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

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

(>-|-|-) :: (Contravariant (->) (Betwixt (->) (->)) u0, Contravariant (Betwixt (->) (->)) (->) (Kan 'Left t u b)) => (a -> b0) -> Kan 'Left t u b (u0 a) -> Kan 'Left t u b (u0 b0) Source #

(>$<) :: Contravariant source target t => source a b -> target (t b) (t a) Source #

(>$$<) :: (Contravariant source target t, Contravariant source (Betwixt source target) u, Contravariant (Betwixt source target) target t) => source a b -> target (t (u a)) (t (u b)) Source #