Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
data ((c :: j1 +-> k1) :**: (d :: j2 +-> k2)) (a :: (k1, k2)) (b :: (j1, j2)) where Source Comments #
(:**:) :: forall {j1} {k1} {j2} {k2} (c :: j1 +-> k1) (a1 :: k1) (b1 :: j1) (d :: j2 +-> k2) (a2 :: k2) (b2 :: j2). c a1 b1 -> d a2 b2 -> (c :**: d) '(a1, a2) '(b1, b2) |
Instances
(Strong v p, Strong w q) => Strong (v :**: w :: (k4, k6) -> (j4, j6) -> Type) (p :**: q :: (k5, k7) -> (j5, j7) -> Type) Source Comments # | |
(MonoidalProfunctor p, MonoidalProfunctor q) => MonoidalProfunctor (p :**: q :: (k1, k2) -> (j1, j2) -> Type) Source Comments # | |
(Profunctor p, Profunctor q) => Profunctor (p :**: q :: (k1, k2) -> (j1, j2) -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Product | |
(Codiscrete p, Codiscrete q) => Codiscrete (p :**: q :: (k1, k2) -> (j1, j2) -> Type) Source Comments # | |
(ThinProfunctor p, ThinProfunctor q) => ThinProfunctor (p :**: q :: (k1, k2) -> (j1, j2) -> Type) Source Comments # | |
(Representable p, Representable q) => Representable (p :**: q :: (k1, k2) -> (j1, j2) -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Product index :: forall (a :: (k1, k2)) (b :: (j1, j2)). (p :**: q) a b -> a ~> ((p :**: q) % b) Source Comments # tabulate :: forall (b :: (j1, j2)) (a :: (k1, k2)). Ob b => (a ~> ((p :**: q) % b)) -> (p :**: q) a b Source Comments # repMap :: forall (a :: (j1, j2)) (b :: (j1, j2)). (a ~> b) -> ((p :**: q) % a) ~> ((p :**: q) % b) Source Comments # | |
(DaggerProfunctor p, DaggerProfunctor q) => DaggerProfunctor (p :**: q :: (j1, j2) -> (j1, j2) -> Type) Source Comments # | |
(Promonad p, Promonad q) => Promonad (p :**: q :: (j1, j2) -> (j1, j2) -> Type) Source Comments # | The product promonad of promonads |
(Discrete p, Discrete q) => Discrete (p :**: q :: (j1, j2) -> (j1, j2) -> Type) Source Comments # | |
type (p :**: q :: (k1, k2) -> (j1, j2) -> Type) % ('(a, b) :: (j1, j2)) Source Comments # | |
type HasArrow (p :**: q :: (k1, k2) -> (j1, j2) -> Type) ('(a1, a2) :: (k1, k2)) ('(b1, b2) :: (j1, j2)) Source Comments # | |
Orphan instances
(Monoidal j, Monoidal k) => Monoidal (j, k) Source Comments # | |||||
leftUnitor :: forall (a :: (j, k)). Ob a => ((Unit :: (j, k)) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: (j, k)). Ob a => a ~> ((Unit :: (j, k)) ** a) Source Comments # rightUnitor :: forall (a :: (j, k)). Ob a => (a ** (Unit :: (j, k))) ~> a Source Comments # rightUnitorInv :: forall (a :: (j, k)). Ob a => a ~> (a ** (Unit :: (j, k))) Source Comments # associator :: forall (a :: (j, k)) (b :: (j, k)) (c :: (j, k)). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: (j, k)) (b :: (j, k)) (c :: (j, k)). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||
(SymMonoidal j, SymMonoidal k) => SymMonoidal (j, k) Source Comments # | |||||
(CategoryOf k1, CategoryOf k2) => CategoryOf (k1, k2) Source Comments # | |||||
(MonoidalAction n j, MonoidalAction m k) => MonoidalAction (n, m) (j, k) Source Comments # | |||||
unitor :: forall (x :: (j, k)). Ob x => Act (Unit :: (n, m)) x ~> x Source Comments # unitorInv :: forall (x :: (j, k)). Ob x => x ~> Act (Unit :: (n, m)) x Source Comments # multiplicator :: forall (a :: (n, m)) (b :: (n, m)) (x :: (j, k)). (Ob a, Ob b, Ob x) => Act a (Act b x) ~> Act (a ** b) x Source Comments # multiplicatorInv :: forall (a :: (n, m)) (b :: (n, m)) (x :: (j, k)). (Ob a, Ob b, Ob x) => Act (a ** b) x ~> Act a (Act b x) Source Comments # |