| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Category.Instance.Cat
Documentation
Instances
| Monoidal KIND Source Github # | Products as monoidal structure. | ||||||||
Defined in Proarrow.Category.Instance.Cat Associated Types
Methods withOb2 :: forall (a :: KIND) (b :: KIND) r. (Ob a, Ob b) => (Ob (a ** b) => r) -> r Source Github # leftUnitor :: forall (a :: KIND). Ob a => ((Unit :: KIND) ** a) ~> a Source Github # leftUnitorInv :: forall (a :: KIND). Ob a => a ~> ((Unit :: KIND) ** a) Source Github # rightUnitor :: forall (a :: KIND). Ob a => (a ** (Unit :: KIND)) ~> a Source Github # rightUnitorInv :: forall (a :: KIND). Ob a => a ~> (a ** (Unit :: KIND)) Source Github # associator :: forall (a :: KIND) (b :: KIND) (c :: KIND). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Github # associatorInv :: forall (a :: KIND) (b :: KIND) (c :: KIND). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Github # | |||||||||
| SymMonoidal KIND Source Github # | |||||||||
| CopyDiscard KIND Source Github # | |||||||||
| Distributive KIND Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat Methods distL :: forall (a :: KIND) (b :: KIND) (c :: KIND). (Ob a, Ob b, Ob c) => (a ** (b || c)) ~> ((a ** b) || (a ** c)) Source Github # distR :: forall (a :: KIND) (b :: KIND) (c :: KIND). (Ob a, Ob b, Ob c) => ((a || b) ** c) ~> ((a ** c) || (b ** c)) Source Github # distL0 :: forall (a :: KIND). Ob a => (a ** (InitialObject :: KIND)) ~> (InitialObject :: KIND) Source Github # distR0 :: forall (a :: KIND). Ob a => ((InitialObject :: KIND) ** a) ~> (InitialObject :: KIND) Source Github # | |||||||||
| CategoryOf KIND Source Github # | The category of categories and profunctors between them. | ||||||||
Defined in Proarrow.Category.Instance.Cat Associated Types
| |||||||||
| HasBinaryCoproducts KIND Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat Methods withObCoprod :: forall (a :: KIND) (b :: KIND) r. (Ob a, Ob b) => (Ob (a || b) => r) -> r Source Github # lft :: forall (a :: KIND) (b :: KIND). (Ob a, Ob b) => a ~> (a || b) Source Github # rgt :: forall (a :: KIND) (b :: KIND). (Ob a, Ob b) => b ~> (a || b) Source Github # (|||) :: forall (x :: KIND) (a :: KIND) (y :: KIND). (x ~> a) -> (y ~> a) -> (x || y) ~> a Source Github # (+++) :: forall (a :: KIND) (b :: KIND) (x :: KIND) (y :: KIND). (a ~> x) -> (b ~> y) -> (a || b) ~> (x || y) Source Github # | |||||||||
| HasBiproducts KIND Source Github # | |||||||||
| HasBinaryProducts KIND Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat Methods withObProd :: forall (a :: KIND) (b :: KIND) r. (Ob a, Ob b) => (Ob (a && b) => r) -> r Source Github # fst :: forall (a :: KIND) (b :: KIND). (Ob a, Ob b) => (a && b) ~> a Source Github # snd :: forall (a :: KIND) (b :: KIND). (Ob a, Ob b) => (a && b) ~> b Source Github # (&&&) :: forall (a :: KIND) (x :: KIND) (y :: KIND). (a ~> x) -> (a ~> y) -> a ~> (x && y) Source Github # (***) :: forall (a :: KIND) (b :: KIND) (x :: KIND) (y :: KIND). (a ~> x) -> (b ~> y) -> (a && b) ~> (x && y) Source Github # | |||||||||
| CompactClosed KIND Source Github # | |||||||||
| StarAutonomous KIND Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat Methods dual :: forall (a :: KIND) (b :: KIND). (a ~> b) -> Dual b ~> Dual a Source Github # dualInv :: forall (a :: KIND) (b :: KIND). (Ob a, Ob b) => (Dual a ~> Dual b) -> b ~> a Source Github # linDist :: forall (a :: KIND) (b :: KIND) (c :: KIND). (Ob a, Ob b, Ob c) => ((a ** b) ~> Dual c) -> a ~> Dual (b ** c) Source Github # linDistInv :: forall (a :: KIND) (b :: KIND) (c :: KIND). (Ob a, Ob b, Ob c) => (a ~> Dual (b ** c)) -> (a ** b) ~> Dual c Source Github # | |||||||||
| Closed KIND Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat Methods withObExp :: forall (a :: KIND) (b :: KIND) r. (Ob a, Ob b) => (Ob (a ~~> b) => r) -> r Source Github # curry :: forall (a :: KIND) (b :: KIND) (c :: KIND). (Ob a, Ob b) => ((a ** b) ~> c) -> a ~> (b ~~> c) Source Github # apply :: forall (a :: KIND) (b :: KIND). (Ob a, Ob b) => ((a ~~> b) ** a) ~> b Source Github # (^^^) :: forall (a :: KIND) (b :: KIND) (x :: KIND) (y :: KIND). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Github # | |||||||||
| HasInitialObject KIND Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat Associated Types
| |||||||||
| HasParamNNO KIND Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat | |||||||||
| HasTerminalObject KIND Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat Associated Types
| |||||||||
| MonoidalAction KIND KIND Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat Associated Types
Methods withObAct :: forall (a :: KIND) (x :: KIND) r. (Ob a, Ob x) => (Ob (Act a x) => r) -> r Source Github # unitor :: forall (x :: KIND). Ob x => Act (Unit :: KIND) x ~> x Source Github # unitorInv :: forall (x :: KIND). Ob x => x ~> Act (Unit :: KIND) x Source Github # multiplicator :: forall (a :: KIND) (b :: KIND) (x :: KIND). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Github # multiplicatorInv :: forall (a :: KIND) (b :: KIND) (x :: KIND). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Github # | |||||||||
| Promonad Cat Source Github # | |||||||||
| Ob a => Comonoid (a :: KIND) Source Github # | |||||||||
| MonoidalProfunctor Cat Source Github # | |||||||||
| Profunctor Cat Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat Methods dimap :: forall (c :: KIND) (a :: KIND) (b :: KIND) (d :: KIND). (c ~> a) -> (b ~> d) -> Cat a b -> Cat c d Source Github # lmap :: forall (c :: KIND) (a :: KIND) (b :: KIND). (c ~> a) -> Cat a b -> Cat c b Source Github # rmap :: forall (b :: KIND) (d :: KIND) (a :: KIND). (b ~> d) -> Cat a b -> Cat a d Source Github # (\\) :: forall (a :: KIND) (b :: KIND) r. ((Ob a, Ob b) => r) -> Cat a b -> r Source Github # | |||||||||
| Costrong KIND Cat Source Github # | |||||||||
| Strong KIND Cat Source Github # | |||||||||
| Monoidal k => Monoid ('K [k] :: KIND) Source Github # | A strictified monoidal category as a monoid in Cat. | ||||||||
| type Unit Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat | |||||||||
| type (~>) Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat | |||||||||
| type InitialObject Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat | |||||||||
| type NNO Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat | |||||||||
| type TerminalObject Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat | |||||||||
| type Ob (c :: KIND) Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat | |||||||||
| type (l :: KIND) ** (r :: KIND) Source Github # | |||||||||
| type (l :: KIND) && (r :: KIND) Source Github # | |||||||||
| type Act (a :: KIND) (x :: KIND) Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat | |||||||||
| type UN 'K ('K k :: KIND) Source Github # | |||||||||
Defined in Proarrow.Category.Instance.Cat | |||||||||
| type Dual ('K a :: KIND) Source Github # | |||||||||
| type ('K l :: KIND) || ('K r :: KIND) Source Github # | |||||||||
| type ('K a :: KIND) ~~> ('K b :: KIND) Source Github # | |||||||||
data Cat (a :: KIND) (b :: KIND) where Source Github #
Instances
| Promonad Cat Source Github # | |
| MonoidalProfunctor Cat Source Github # | |
| Profunctor Cat Source Github # | |
Defined in Proarrow.Category.Instance.Cat Methods dimap :: forall (c :: KIND) (a :: KIND) (b :: KIND) (d :: KIND). (c ~> a) -> (b ~> d) -> Cat a b -> Cat c d Source Github # lmap :: forall (c :: KIND) (a :: KIND) (b :: KIND). (c ~> a) -> Cat a b -> Cat c b Source Github # rmap :: forall (b :: KIND) (d :: KIND) (a :: KIND). (b ~> d) -> Cat a b -> Cat a d Source Github # (\\) :: forall (a :: KIND) (b :: KIND) r. ((Ob a, Ob b) => r) -> Cat a b -> r Source Github # | |
| Costrong KIND Cat Source Github # | |
| Strong KIND Cat Source Github # | |
data family FstCat :: (j, k) +-> j Source Github #
Instances
| (CategoryOf j, CategoryOf k) => FunctorForRep (FstCat :: (j, k) +-> j) Source Github # | |
| type (FstCat :: (j, k) +-> j) @ ('(a, b) :: (j, k)) Source Github # | |
Defined in Proarrow.Category.Instance.Cat | |
data family SndCat :: (j, k) +-> k Source Github #
Instances
| (CategoryOf j, CategoryOf k) => FunctorForRep (SndCat :: (j, k) +-> k) Source Github # | |
| type (SndCat :: (j, k) +-> k) @ ('(a, b) :: (j, k)) Source Github # | |
Defined in Proarrow.Category.Instance.Cat | |
data ((p :: k +-> i) :&&&: (q :: k +-> j)) (a :: (i, j)) (b :: k) where Source Github #
Constructors
| (:&&&:) :: forall {k} {i} {j} (p :: k +-> i) (a1 :: i) (b :: k) (q :: k +-> j) (b1 :: j). p a1 b -> q b1 b -> (p :&&&: q) '(a1, b1) b |
Instances
| (Profunctor p, Profunctor q) => Profunctor (p :&&&: q :: (i, j2) -> j1 -> Type) Source Github # | |
Defined in Proarrow.Category.Instance.Cat Methods dimap :: forall (c :: (i, j2)) (a :: (i, j2)) (b :: j1) (d :: j1). (c ~> a) -> (b ~> d) -> (p :&&&: q) a b -> (p :&&&: q) c d Source Github # lmap :: forall (c :: (i, j2)) (a :: (i, j2)) (b :: j1). (c ~> a) -> (p :&&&: q) a b -> (p :&&&: q) c b Source Github # rmap :: forall (b :: j1) (d :: j1) (a :: (i, j2)). (b ~> d) -> (p :&&&: q) a b -> (p :&&&: q) a d Source Github # (\\) :: forall (a :: (i, j2)) (b :: j1) r. ((Ob a, Ob b) => r) -> (p :&&&: q) a b -> r Source Github # | |
| (Representable p, Representable q) => Representable (p :&&&: q :: (i, j2) -> j1 -> Type) Source Github # | |
Defined in Proarrow.Category.Instance.Cat Methods index :: forall (a :: (i, j2)) (b :: j1). (p :&&&: q) a b -> a ~> ((p :&&&: q) % b) Source Github # tabulate :: forall (b :: j1) (a :: (i, j2)). Ob b => (a ~> ((p :&&&: q) % b)) -> (p :&&&: q) a b Source Github # repMap :: forall (a :: j1) (b :: j1). (a ~> b) -> ((p :&&&: q) % a) ~> ((p :&&&: q) % b) Source Github # trivialRep :: forall (a :: j1). Ob a => (p :&&&: q) ((p :&&&: q) % a) a Source Github # | |
| type (p :&&&: q :: (i, j2) -> j1 -> Type) % (a :: j1) Source Github # | |
data family Swap :: (j, k) +-> (k, j) Source Github #
Instances
| (CategoryOf j, CategoryOf k) => FunctorForRep (Swap :: (j, k) +-> (k, j)) Source Github # | |
| type (Swap :: (j, k) +-> (k, j)) @ ('(a, b) :: (j, k)) Source Github # | |
Defined in Proarrow.Category.Instance.Cat | |
data Curry (p :: (i, j) +-> k) (a :: (OPPOSITE j, k)) (b :: i) where Source Github #
Constructors
| Curry :: forall {i} {j} {k} (p :: (i, j) +-> k) (c :: k) (b :: i) (b1 :: j). p c '(b, b1) -> Curry p '('OP b1, c) b |
Instances
| (Profunctor p, CategoryOf i, CategoryOf j) => Profunctor (Curry p :: (OPPOSITE j, k) -> i -> Type) Source Github # | |
Defined in Proarrow.Category.Instance.Cat Methods dimap :: forall (c :: (OPPOSITE j, k)) (a :: (OPPOSITE j, k)) (b :: i) (d :: i). (c ~> a) -> (b ~> d) -> Curry p a b -> Curry p c d Source Github # lmap :: forall (c :: (OPPOSITE j, k)) (a :: (OPPOSITE j, k)) (b :: i). (c ~> a) -> Curry p a b -> Curry p c b Source Github # rmap :: forall (b :: i) (d :: i) (a :: (OPPOSITE j, k)). (b ~> d) -> Curry p a b -> Curry p a d Source Github # (\\) :: forall (a :: (OPPOSITE j, k)) (b :: i) r. ((Ob a, Ob b) => r) -> Curry p a b -> r Source Github # | |
data Uncurry (p :: i +-> (OPPOSITE j, k)) (a :: k) (b :: (i, j)) where Source Github #
Constructors
| Uncurry :: forall {i} {j} {k} (p :: i +-> (OPPOSITE j, k)) (b1 :: j) (a :: k) (a1 :: i). p '('OP b1, a) a1 -> Uncurry p a '(a1, b1) |
Instances
| (Profunctor p, CategoryOf j, CategoryOf k) => Profunctor (Uncurry p :: k -> (i, j) -> Type) Source Github # | |
Defined in Proarrow.Category.Instance.Cat Methods dimap :: forall (c :: k) (a :: k) (b :: (i, j)) (d :: (i, j)). (c ~> a) -> (b ~> d) -> Uncurry p a b -> Uncurry p c d Source Github # lmap :: forall (c :: k) (a :: k) (b :: (i, j)). (c ~> a) -> Uncurry p a b -> Uncurry p c b Source Github # rmap :: forall (b :: (i, j)) (d :: (i, j)) (a :: k). (b ~> d) -> Uncurry p a b -> Uncurry p a d Source Github # (\\) :: forall (a :: k) (b :: (i, j)) r. ((Ob a, Ob b) => r) -> Uncurry p a b -> r Source Github # | |
data family CombineDual :: (OPPOSITE j, OPPOSITE k) +-> OPPOSITE (j, k) Source Github #
Instances
| (CategoryOf j, CategoryOf k) => FunctorForRep (CombineDual :: (OPPOSITE j, OPPOSITE k) +-> OPPOSITE (j, k)) Source Github # | |
| type (CombineDual :: (OPPOSITE j, OPPOSITE k) +-> OPPOSITE (j, k)) @ ('('OP a, 'OP b) :: (OPPOSITE j, OPPOSITE k)) Source Github # | |
data family DistribDual :: OPPOSITE (j, k) +-> (OPPOSITE j, OPPOSITE k) Source Github #
Instances
| (CategoryOf j, CategoryOf k) => FunctorForRep (DistribDual :: OPPOSITE (j, k) +-> (OPPOSITE j, OPPOSITE k)) Source Github # | |
| type (DistribDual :: OPPOSITE (j, k) +-> (OPPOSITE j, OPPOSITE k)) @ ('OP '(a, b) :: OPPOSITE (j, k)) Source Github # | |
data family Succ :: DISCRETE Nat +-> DISCRETE Nat Source Github #
data NNOUniv (z :: a +-> x) (s :: x +-> x) (a1 :: x) (b :: (a, DISCRETE Nat)) where Source Github #
Constructors
| NNOZ :: forall {x} {a} (a1 :: x) (z :: a +-> x) (a2 :: a) (s :: x +-> x). Ob a1 => z a1 a2 -> NNOUniv z s a1 '(a2, 'D 'Z) | |
| NNOS :: forall {x} {a} (s :: x +-> x) (z :: a +-> x) (a1 :: x) (a2 :: a) (n :: Nat). (s :.: NNOUniv z s) a1 '(a2, 'D n) -> NNOUniv z s a1 '(a2, 'D ('S n)) |
Instances
| (Profunctor z, Profunctor s) => Profunctor (NNOUniv z s :: k -> (a, DISCRETE Nat) -> Type) Source Github # | |
Defined in Proarrow.Category.Instance.Cat Methods dimap :: forall (c :: k) (a0 :: k) (b :: (a, DISCRETE Nat)) (d :: (a, DISCRETE Nat)). (c ~> a0) -> (b ~> d) -> NNOUniv z s a0 b -> NNOUniv z s c d Source Github # lmap :: forall (c :: k) (a0 :: k) (b :: (a, DISCRETE Nat)). (c ~> a0) -> NNOUniv z s a0 b -> NNOUniv z s c b Source Github # rmap :: forall (b :: (a, DISCRETE Nat)) (d :: (a, DISCRETE Nat)) (a0 :: k). (b ~> d) -> NNOUniv z s a0 b -> NNOUniv z s a0 d Source Github # (\\) :: forall (a0 :: k) (b :: (a, DISCRETE Nat)) r. ((Ob a0, Ob b) => r) -> NNOUniv z s a0 b -> r Source Github # | |