Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- class (Category source, Category target) => Contravariant source target t where
- (>-|-) :: source a b -> target (t b) (t a)
- (>-|--), (>-|---), (>-|----), (>-|-----), (>-|------), (>-|-------), (>-|--------) :: source a b -> target (t b) (t a)
- (>-|-|-) :: (Contravariant source (Betwixt source target) u, Contravariant (Betwixt source target) target t) => source a b -> target (t (u a)) (t (u b))
- (>$<) :: Contravariant source target t => source a b -> target (t b) (t a)
- (>$$<) :: (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))
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 >-|-)
(>-|-) :: 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
(Category m, Covariant m m t) => Contravariant m (Flip m) t Source # | |
Defined in Pandora.Pattern.Morphism.Flip (>-|-) :: 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 # | |
Defined in Pandora.Pattern.Morphism.Flip (>-|-) :: 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 # | |
Defined in Pandora.Paradigm.Primary.Functor.Predicate (>-|-) :: (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 # | |
Defined in Pandora.Paradigm.Algebraic.Exponential (>-|-) :: (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 # | |
Defined in Pandora.Paradigm.Primary.Functor.Proxy (>-|-) :: (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 # | |
Defined in Pandora.Paradigm.Primary.Functor.Convergence (>-|-) :: (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 # | |
Defined in Pandora.Paradigm.Inventory.Some.Provision (>-|-) :: (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 # | |
Defined in Pandora.Paradigm.Inventory.Some.Imprint (>-|-) :: (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 # | |
Defined in Pandora.Paradigm.Primary.Functor.Constant (>-|-) :: (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 # | |
Defined in Pandora.Paradigm.Primary.Transformer.Backwards (>-|-) :: (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 # | |
Defined in Pandora.Paradigm.Primary.Transformer.Reverse (>-|-) :: (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 # | |
Defined in Pandora.Paradigm.Schemes.T_U (<-|-) :: (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 -> Horizontal Type) t u b) Source # | |
Defined in Pandora.Paradigm.Primary.Transformer.Kan (>-|-) :: (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 #