| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Universal
Synopsis
- class Representable r => InitUniversal (r :: j +-> k) (a :: k) where
- type L (r :: j +-> k) (a :: k) :: j
- initUnivArr :: r a (L r a)
- initUnivProp :: forall (b :: j). r a b -> L r a ~> b
- class Corepresentable l => TermUniversal (l :: j +-> k) (b :: j) where
- type R (l :: j +-> k) (b :: j) :: k
- termUnivArr :: l (R l b) b
- termUnivProp :: forall (a :: k). l a b -> a ~> R l b
- newtype AsRightAdjoint (p :: k -> k1 -> Type) (a :: k) (b :: k1) = AsRightAdjoint {
- unAsRightAdjoint :: p a b
- newtype AsLeftAdjoint (p :: k -> k1 -> Type) (a :: k) (b :: k1) = AsLeftAdjoint {
- unAsLeftAdjoint :: p a b
- newtype FromAdjunction (p :: k -> k1 -> Type) (a :: k) (b :: k1) = FromAdjunction {
- unFromAdjunction :: p a b
Documentation
class Representable r => InitUniversal (r :: j +-> k) (a :: k) where Source Comments #
The initial universal property of a functor r (as a representable profunctor) and an object a.
Methods
initUnivArr :: r a (L r a) Source Comments #
initUnivProp :: forall (b :: j). r a b -> L r a ~> b Source Comments #
Instances
| Adjunction p => InitUniversal (FromAdjunction p :: k -> j -> Type) (a :: k) Source Comments # | |||||
Defined in Proarrow.Universal Associated Types
Methods initUnivArr :: FromAdjunction p a (L (FromAdjunction p) a) Source Comments # initUnivProp :: forall (b :: j). FromAdjunction p a b -> L (FromAdjunction p) a ~> b Source Comments # | |||||
class Corepresentable l => TermUniversal (l :: j +-> k) (b :: j) where Source Comments #
The terminal universal property of a functor l (as a corepresentable profunctor) and an object b.
Methods
termUnivArr :: l (R l b) b Source Comments #
termUnivProp :: forall (a :: k). l a b -> a ~> R l b Source Comments #
Instances
| Adjunction p => TermUniversal (FromAdjunction p :: k -> j -> Type) (b :: j) Source Comments # | |||||
Defined in Proarrow.Universal Associated Types
Methods termUnivArr :: FromAdjunction p (R (FromAdjunction p) b) b Source Comments # termUnivProp :: forall (a :: k). FromAdjunction p a b -> a ~> R (FromAdjunction p) b Source Comments # | |||||
newtype AsRightAdjoint (p :: k -> k1 -> Type) (a :: k) (b :: k1) Source Comments #
Constructors
| AsRightAdjoint | |
Fields
| |
Instances
| Profunctor p => Profunctor (AsRightAdjoint p :: k -> j -> Type) Source Comments # | |
Defined in Proarrow.Universal Methods dimap :: forall (c :: k) (a :: k) (b :: j) (d :: j). (c ~> a) -> (b ~> d) -> AsRightAdjoint p a b -> AsRightAdjoint p c d Source Comments # (\\) :: forall (a :: k) (b :: j) r. ((Ob a, Ob b) => r) -> AsRightAdjoint p a b -> r Source Comments # | |
| (forall (a :: k). InitUniversal r a) => Corepresentable (AsRightAdjoint r :: k -> j -> Type) Source Comments # | |
Defined in Proarrow.Universal Methods coindex :: forall (a :: k) (b :: j). AsRightAdjoint r a b -> (AsRightAdjoint r %% a) ~> b Source Comments # cotabulate :: forall (a :: k) (b :: j). Ob a => ((AsRightAdjoint r %% a) ~> b) -> AsRightAdjoint r a b Source Comments # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> (AsRightAdjoint r %% a) ~> (AsRightAdjoint r %% b) Source Comments # | |
| Representable p => Representable (AsRightAdjoint p :: k -> j -> Type) Source Comments # | |
Defined in Proarrow.Universal Methods index :: forall (a :: k) (b :: j). AsRightAdjoint p a b -> a ~> (AsRightAdjoint p % b) Source Comments # tabulate :: forall (b :: j) (a :: k). Ob b => (a ~> (AsRightAdjoint p % b)) -> AsRightAdjoint p a b Source Comments # repMap :: forall (a :: j) (b :: j). (a ~> b) -> (AsRightAdjoint p % a) ~> (AsRightAdjoint p % b) Source Comments # | |
| type (AsRightAdjoint r :: k -> j -> Type) %% (a :: k) Source Comments # | |
Defined in Proarrow.Universal | |
| type (AsRightAdjoint p :: k -> j -> Type) % (a :: j) Source Comments # | |
Defined in Proarrow.Universal | |
newtype AsLeftAdjoint (p :: k -> k1 -> Type) (a :: k) (b :: k1) Source Comments #
Constructors
| AsLeftAdjoint | |
Fields
| |
Instances
| Profunctor p => Profunctor (AsLeftAdjoint p :: k -> j -> Type) Source Comments # | |
Defined in Proarrow.Universal Methods dimap :: forall (c :: k) (a :: k) (b :: j) (d :: j). (c ~> a) -> (b ~> d) -> AsLeftAdjoint p a b -> AsLeftAdjoint p c d Source Comments # (\\) :: forall (a :: k) (b :: j) r. ((Ob a, Ob b) => r) -> AsLeftAdjoint p a b -> r Source Comments # | |
| Corepresentable p => Corepresentable (AsLeftAdjoint p :: k -> j -> Type) Source Comments # | |
Defined in Proarrow.Universal Methods coindex :: forall (a :: k) (b :: j). AsLeftAdjoint p a b -> (AsLeftAdjoint p %% a) ~> b Source Comments # cotabulate :: forall (a :: k) (b :: j). Ob a => ((AsLeftAdjoint p %% a) ~> b) -> AsLeftAdjoint p a b Source Comments # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> (AsLeftAdjoint p %% a) ~> (AsLeftAdjoint p %% b) Source Comments # | |
| (forall (b :: j). TermUniversal l b) => Representable (AsLeftAdjoint l :: k -> j -> Type) Source Comments # | |
Defined in Proarrow.Universal Methods index :: forall (a :: k) (b :: j). AsLeftAdjoint l a b -> a ~> (AsLeftAdjoint l % b) Source Comments # tabulate :: forall (b :: j) (a :: k). Ob b => (a ~> (AsLeftAdjoint l % b)) -> AsLeftAdjoint l a b Source Comments # repMap :: forall (a :: j) (b :: j). (a ~> b) -> (AsLeftAdjoint l % a) ~> (AsLeftAdjoint l % b) Source Comments # | |
| type (AsLeftAdjoint p :: k -> j -> Type) %% (a :: k) Source Comments # | |
Defined in Proarrow.Universal | |
| type (AsLeftAdjoint l :: k -> j -> Type) % (b :: j) Source Comments # | |
Defined in Proarrow.Universal | |
newtype FromAdjunction (p :: k -> k1 -> Type) (a :: k) (b :: k1) Source Comments #
Constructors
| FromAdjunction | |
Fields
| |