Safe Haskell | None |
---|---|
Language | Haskell2010 |
Proarrow.Category.Instance.Cat
Documentation
newtype KIND Source Comments #
Instances
data Cat (a :: KIND) (b :: KIND) where Source Comments #
Instances
TracedMonoidalProfunctor Cat Source Comments # | |
Defined in Proarrow.Category.Instance.Cat Methods trace :: forall (u :: KIND) (x :: KIND) (y :: KIND). (Ob x, Ob y, Ob u) => Cat (x ** u) (y ** u) -> Cat x y Source Comments # trace' :: forall (x :: KIND) (x' :: KIND) (y :: KIND) (y' :: KIND) (u :: KIND) (u' :: KIND). (x ~> x') -> (y ~> y') -> (u ~> u') -> Cat (x' ** u') (y ** u) -> Cat x y' Source Comments # | |
Promonad Cat Source Comments # | |
MonoidalProfunctor Cat Source Comments # | |
Profunctor Cat Source Comments # | |
data Terminate (a :: ()) (b :: k) where Source Comments #
Instances
CategoryOf k => Profunctor (Terminate :: () -> k -> Type) Source Comments # | |
CategoryOf k => Representable (Terminate :: () -> k -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Cat Methods index :: forall (a :: ()) (b :: k). Terminate a b -> a ~> ((Terminate :: () -> k -> Type) % b) Source Comments # tabulate :: forall (b :: k) (a :: ()). Ob b => (a ~> ((Terminate :: () -> k -> Type) % b)) -> Terminate a b Source Comments # repMap :: forall (a :: k) (b :: k). (a ~> b) -> ((Terminate :: () -> k -> Type) % a) ~> ((Terminate :: () -> k -> Type) % b) Source Comments # | |
type (Terminate :: () -> k -> Type) % (a :: k) Source Comments # | |
Defined in Proarrow.Category.Instance.Cat |
data Initiate (a :: k) (b :: VOID) where Source Comments #
Instances
CategoryOf k => Profunctor (Initiate :: k -> VOID -> Type) Source Comments # | |
CategoryOf k => Representable (Initiate :: k -> VOID -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Cat Methods index :: forall (a :: k) (b :: VOID). Initiate a b -> a ~> ((Initiate :: k -> VOID -> Type) % b) Source Comments # tabulate :: forall (b :: VOID) (a :: k). Ob b => (a ~> ((Initiate :: k -> VOID -> Type) % b)) -> Initiate a b Source Comments # repMap :: forall (a :: VOID) (b :: VOID). (a ~> b) -> ((Initiate :: k -> VOID -> Type) % a) ~> ((Initiate :: k -> VOID -> Type) % b) Source Comments # | |
type (Initiate :: k -> VOID -> Type) % (a :: VOID) Source Comments # | |
data FstCat (a :: j) (b :: (j, k)) where Source Comments #
Constructors
FstCat :: forall {k} {j} (c :: k) (a :: j) (b1 :: j). Ob c => (a ~> b1) -> FstCat a '(b1, c) |
Instances
(CategoryOf j, CategoryOf k) => Profunctor (FstCat :: j -> (j, k) -> Type) Source Comments # | |
(CategoryOf j, CategoryOf k) => Representable (FstCat :: j -> (j, k) -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Cat Methods index :: forall (a :: j) (b :: (j, k)). FstCat a b -> a ~> ((FstCat :: j -> (j, k) -> Type) % b) Source Comments # tabulate :: forall (b :: (j, k)) (a :: j). Ob b => (a ~> ((FstCat :: j -> (j, k) -> Type) % b)) -> FstCat a b Source Comments # repMap :: forall (a :: (j, k)) (b :: (j, k)). (a ~> b) -> ((FstCat :: j -> (j, k) -> Type) % a) ~> ((FstCat :: j -> (j, k) -> Type) % b) Source Comments # | |
type (FstCat :: j -> (j, k) -> Type) % ('(a, b) :: (j, k)) Source Comments # | |
Defined in Proarrow.Category.Instance.Cat |
data SndCat (a :: k) (b :: (j, k)) where Source Comments #
Constructors
SndCat :: forall {j} {k} (b1 :: j) (a :: k) (c :: k). Ob b1 => (a ~> c) -> SndCat a '(b1, c) |
Instances
(CategoryOf j, CategoryOf k) => Profunctor (SndCat :: k -> (j, k) -> Type) Source Comments # | |
(CategoryOf j, CategoryOf k) => Representable (SndCat :: k -> (j, k) -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Cat Methods index :: forall (a :: k) (b :: (j, k)). SndCat a b -> a ~> ((SndCat :: k -> (j, k) -> Type) % b) Source Comments # tabulate :: forall (b :: (j, k)) (a :: k). Ob b => (a ~> ((SndCat :: k -> (j, k) -> Type) % b)) -> SndCat a b Source Comments # repMap :: forall (a :: (j, k)) (b :: (j, k)). (a ~> b) -> ((SndCat :: k -> (j, k) -> Type) % a) ~> ((SndCat :: k -> (j, k) -> Type) % b) Source Comments # | |
type (SndCat :: k -> (j, k) -> Type) % ('(a, b) :: (j, k)) Source Comments # | |
Defined in Proarrow.Category.Instance.Cat |
data ((p :: k +-> i) :&&&: (q :: k +-> j)) (a :: (i, j)) (b :: k) where Source Comments #
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
(Representable p, Representable q) => Representable (p :&&&: q :: (i, j2) -> j1 -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Cat Methods index :: forall (a :: (i, j2)) (b :: j1). (p :&&&: q) a b -> a ~> ((p :&&&: q) % b) Source Comments # tabulate :: forall (b :: j1) (a :: (i, j2)). Ob b => (a ~> ((p :&&&: q) % b)) -> (p :&&&: q) a b Source Comments # repMap :: forall (a :: j1) (b :: j1). (a ~> b) -> ((p :&&&: q) % a) ~> ((p :&&&: q) % b) Source Comments # | |
(Profunctor p, Profunctor q) => Profunctor (p :&&&: q :: (i, j) -> k -> Type) Source Comments # | |
type (p :&&&: q :: (i, j2) -> j1 -> Type) % (a :: j1) Source Comments # | |
data LftCat (a :: COPRODUCT j k) (b :: j) where Source Comments #
Constructors
LftCat :: forall {j} {k} (a1 :: j) (b :: j). (a1 ~> b) -> LftCat ('L a1 :: COPRODUCT j k) b |
Instances
(CategoryOf j, CategoryOf k) => Representable (LftCat :: COPRODUCT j k -> j -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Cat Methods index :: forall (a :: COPRODUCT j k) (b :: j). LftCat a b -> a ~> ((LftCat :: COPRODUCT j k -> j -> Type) % b) Source Comments # tabulate :: forall (b :: j) (a :: COPRODUCT j k). Ob b => (a ~> ((LftCat :: COPRODUCT j k -> j -> Type) % b)) -> LftCat a b Source Comments # repMap :: forall (a :: j) (b :: j). (a ~> b) -> ((LftCat :: COPRODUCT j k -> j -> Type) % a) ~> ((LftCat :: COPRODUCT j k -> j -> Type) % b) Source Comments # | |
(CategoryOf j, CategoryOf k) => Profunctor (LftCat :: COPRODUCT j k -> j -> Type) Source Comments # | |
type (LftCat :: COPRODUCT j k -> j -> Type) % (a :: j) Source Comments # | |
data RgtCat (a :: COPRODUCT j k) (b :: k) where Source Comments #
Constructors
RgtCat :: forall {k} {j} (a1 :: k) (b :: k). (a1 ~> b) -> RgtCat ('R a1 :: COPRODUCT j k) b |
Instances
(CategoryOf j, CategoryOf k) => Representable (RgtCat :: COPRODUCT j k -> k -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Cat Methods index :: forall (a :: COPRODUCT j k) (b :: k). RgtCat a b -> a ~> ((RgtCat :: COPRODUCT j k -> k -> Type) % b) Source Comments # tabulate :: forall (b :: k) (a :: COPRODUCT j k). Ob b => (a ~> ((RgtCat :: COPRODUCT j k -> k -> Type) % b)) -> RgtCat a b Source Comments # repMap :: forall (a :: k) (b :: k). (a ~> b) -> ((RgtCat :: COPRODUCT j k -> k -> Type) % a) ~> ((RgtCat :: COPRODUCT j k -> k -> Type) % b) Source Comments # | |
(CategoryOf j, CategoryOf k) => Profunctor (RgtCat :: COPRODUCT j k -> k -> Type) Source Comments # | |
type (RgtCat :: COPRODUCT j k -> k -> Type) % (a :: k) Source Comments # | |
data ((p :: i +-> k) :|||: (q :: j +-> k)) (a :: k) (b :: COPRODUCT i j) where Source Comments #
Constructors
InjLP :: forall {i} {k} {j} (p :: i +-> k) (a :: k) (b1 :: i) (q :: j +-> k). p a b1 -> (p :|||: q) a ('L b1 :: COPRODUCT i j) | |
InjRP :: forall {j} {k} {i} (q :: j +-> k) (a :: k) (b1 :: j) (p :: i +-> k). q a b1 -> (p :|||: q) a ('R b1 :: COPRODUCT i j) |
Instances
(Profunctor p, Profunctor q) => Profunctor (p :|||: q :: j1 -> COPRODUCT i j2 -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Cat | |
(Representable p, Representable q) => Representable (p :|||: q :: k -> COPRODUCT i j -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Cat Methods index :: forall (a :: k) (b :: COPRODUCT i j). (p :|||: q) a b -> a ~> ((p :|||: q) % b) Source Comments # tabulate :: forall (b :: COPRODUCT i j) (a :: k). Ob b => (a ~> ((p :|||: q) % b)) -> (p :|||: q) a b Source Comments # repMap :: forall (a :: COPRODUCT i j) (b :: COPRODUCT i j). (a ~> b) -> ((p :|||: q) % a) ~> ((p :|||: q) % b) Source Comments # | |
type (p :|||: q :: k -> COPRODUCT i j -> Type) % ('L a :: COPRODUCT i j) Source Comments # | |
type (p :|||: q :: k -> COPRODUCT i j -> Type) % ('R a :: COPRODUCT i j) Source Comments # | |
data Swap (p :: h +-> i) (q :: j +-> k) (a :: (k, i)) (b :: (h, j)) where Source Comments #
Constructors
Swap :: forall {h} {i} (p :: h +-> i) (a1 :: i) (b1 :: h) (q1 :: h +-> i) (c :: i) (d :: h). p a1 b1 -> q1 c d -> Swap p q1 '(a1, c) '(d, b1) |
Instances
(Profunctor p, Profunctor q) => Profunctor (Swap p q :: (k, i) -> (h, j) -> Type) Source Comments # | |
data Curry (p :: (i, j) +-> k) (a :: (k, OPPOSITE j)) (b :: i) where Source Comments #
Constructors
Curry :: forall {i} {j} {k} (p :: (i, j) +-> k) (c :: k) (b :: i) (b1 :: j). p c '(b, b1) -> Curry p '(c, 'OP b1) b |
Instances
(Profunctor p, CategoryOf i, CategoryOf j) => Profunctor (Curry p :: (k, OPPOSITE j) -> i -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Cat |
data Uncurry (p :: i +-> (k, OPPOSITE j)) (a :: k) (b :: (i, j)) where Source Comments #
Constructors
Uncurry :: forall {i} {k} {j} (p :: i +-> (k, OPPOSITE j)) (a :: k) (b1 :: j) (a1 :: i). p '(a, 'OP b1) a1 -> Uncurry p a '(a1, b1) |
Instances
(Profunctor p, CategoryOf j, CategoryOf k) => Profunctor (Uncurry p :: k -> (i, j) -> Type) Source Comments # | |
data DistribDual (a :: (OPPOSITE j, OPPOSITE k)) (b :: OPPOSITE (j, k)) where Source Comments #
Constructors
DistribDual :: forall {j} {k} (c :: j) (a1 :: j) (d :: k) (b1 :: k). (c ~> a1) -> (d ~> b1) -> DistribDual '('OP a1, 'OP b1) ('OP '(c, d)) |
Instances
(CategoryOf j, CategoryOf k) => Profunctor (DistribDual :: (OPPOSITE j, OPPOSITE k) -> OPPOSITE (j, k) -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Cat Methods dimap :: forall (c :: (OPPOSITE j, OPPOSITE k)) (a :: (OPPOSITE j, OPPOSITE k)) (b :: OPPOSITE (j, k)) (d :: OPPOSITE (j, k)). (c ~> a) -> (b ~> d) -> DistribDual a b -> DistribDual c d Source Comments # (\\) :: forall (a :: (OPPOSITE j, OPPOSITE k)) (b :: OPPOSITE (j, k)) r. ((Ob a, Ob b) => r) -> DistribDual a b -> r Source Comments # |