Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
class (Monoidal j, Monoidal k, Profunctor p) => MonoidalProfunctor (p :: j +-> k) where Source Comments #
par0 :: p (Unit :: k) (Unit :: j) Source Comments #
par :: forall (x1 :: k) (x2 :: j) (y1 :: k) (y2 :: j). p x1 x2 -> p y1 y2 -> p (x1 ** y1) (x2 ** y2) Source Comments #
Instances
class (CategoryOf k, MonoidalProfunctor ((~>) :: CAT k)) => Monoidal k where Source Comments #
leftUnitor :: forall (a :: k). Ob a => ((Unit :: k) ** a) ~> a Source Comments #
leftUnitorInv :: forall (a :: k). Ob a => a ~> ((Unit :: k) ** a) Source Comments #
rightUnitor :: forall (a :: k). Ob a => (a ** (Unit :: k)) ~> a Source Comments #
rightUnitorInv :: forall (a :: k). Ob a => a ~> (a ** (Unit :: k)) Source Comments #
associator :: forall (a :: k) (b :: k) (c :: k). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments #
associatorInv :: forall (a :: k) (b :: k) (c :: k). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments #
Instances
Monoidal BOOL Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.Bool
leftUnitor :: forall (a :: BOOL). Ob a => ((Unit :: BOOL) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: BOOL). Ob a => a ~> ((Unit :: BOOL) ** a) Source Comments # rightUnitor :: forall (a :: BOOL). Ob a => (a ** (Unit :: BOOL)) ~> a Source Comments # rightUnitorInv :: forall (a :: BOOL). Ob a => a ~> (a ** (Unit :: BOOL)) Source Comments # associator :: forall (a :: BOOL) (b :: BOOL) (c :: BOOL). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: BOOL) (b :: BOOL) (c :: BOOL). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
Monoidal KIND Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.Cat
leftUnitor :: forall (a :: KIND). Ob a => ((Unit :: KIND) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: KIND). Ob a => a ~> ((Unit :: KIND) ** a) Source Comments # rightUnitor :: forall (a :: KIND). Ob a => (a ** (Unit :: KIND)) ~> a Source Comments # rightUnitorInv :: forall (a :: KIND). Ob a => a ~> (a ** (Unit :: KIND)) Source Comments # associator :: forall (a :: KIND) (b :: KIND) (c :: KIND). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: KIND) (b :: KIND) (c :: KIND). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
Monoidal CONSTRAINT Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.Constraint
leftUnitor :: forall (a :: CONSTRAINT). Ob a => ((Unit :: CONSTRAINT) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: CONSTRAINT). Ob a => a ~> ((Unit :: CONSTRAINT) ** a) Source Comments # rightUnitor :: forall (a :: CONSTRAINT). Ob a => (a ** (Unit :: CONSTRAINT)) ~> a Source Comments # rightUnitorInv :: forall (a :: CONSTRAINT). Ob a => a ~> (a ** (Unit :: CONSTRAINT)) Source Comments # associator :: forall (a :: CONSTRAINT) (b :: CONSTRAINT) (c :: CONSTRAINT). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: CONSTRAINT) (b :: CONSTRAINT) (c :: CONSTRAINT). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
Monoidal LINEAR Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.Linear leftUnitor :: forall (a :: LINEAR). Ob a => ((Unit :: LINEAR) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: LINEAR). Ob a => a ~> ((Unit :: LINEAR) ** a) Source Comments # rightUnitor :: forall (a :: LINEAR). Ob a => (a ** (Unit :: LINEAR)) ~> a Source Comments # rightUnitorInv :: forall (a :: LINEAR). Ob a => a ~> (a ** (Unit :: LINEAR)) Source Comments # associator :: forall (a :: LINEAR) (b :: LINEAR) (c :: LINEAR). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: LINEAR) (b :: LINEAR) (c :: LINEAR). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
Monoidal POINTED Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.PointedHask
leftUnitor :: forall (a :: POINTED). Ob a => ((Unit :: POINTED) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: POINTED). Ob a => a ~> ((Unit :: POINTED) ** a) Source Comments # rightUnitor :: forall (a :: POINTED). Ob a => (a ** (Unit :: POINTED)) ~> a Source Comments # rightUnitorInv :: forall (a :: POINTED). Ob a => a ~> (a ** (Unit :: POINTED)) Source Comments # associator :: forall (a :: POINTED) (b :: POINTED) (c :: POINTED). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: POINTED) (b :: POINTED) (c :: POINTED). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
Monoidal Nat Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.Simplex
leftUnitor :: forall (a :: Nat). Ob a => ((Unit :: Nat) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: Nat). Ob a => a ~> ((Unit :: Nat) ** a) Source Comments # rightUnitor :: forall (a :: Nat). Ob a => (a ** (Unit :: Nat)) ~> a Source Comments # rightUnitorInv :: forall (a :: Nat). Ob a => a ~> (a ** (Unit :: Nat)) Source Comments # associator :: forall (a :: Nat) (b :: Nat) (c :: Nat). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: Nat) (b :: Nat) (c :: Nat). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
Monoidal () Source Comments # | |||||||||
Defined in Proarrow.Object.BinaryProduct
leftUnitor :: forall (a :: ()). Ob a => ((Unit :: ()) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: ()). Ob a => a ~> ((Unit :: ()) ** a) Source Comments # rightUnitor :: forall (a :: ()). Ob a => (a ** (Unit :: ())) ~> a Source Comments # rightUnitorInv :: forall (a :: ()). Ob a => a ~> (a ** (Unit :: ())) Source Comments # associator :: forall (a :: ()) (b :: ()) (c :: ()). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: ()) (b :: ()) (c :: ()). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
Monoidal Type Source Comments # | |||||||||
Defined in Proarrow.Object.BinaryProduct
leftUnitor :: Ob a => ((Unit :: Type) ** a) ~> a Source Comments # leftUnitorInv :: Ob a => a ~> ((Unit :: Type) ** a) Source Comments # rightUnitor :: Ob a => (a ** (Unit :: Type)) ~> a Source Comments # rightUnitorInv :: Ob a => a ~> (a ** (Unit :: Type)) Source Comments # associator :: (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
CategoryOf k => Monoidal (LIST k) Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.List
leftUnitor :: forall (a :: LIST k). Ob a => ((Unit :: LIST k) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: LIST k). Ob a => a ~> ((Unit :: LIST k) ** a) Source Comments # rightUnitor :: forall (a :: LIST k). Ob a => (a ** (Unit :: LIST k)) ~> a Source Comments # rightUnitorInv :: forall (a :: LIST k). Ob a => a ~> (a ** (Unit :: LIST k)) Source Comments # associator :: forall (a :: LIST k) (b :: LIST k) (c :: LIST k). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: LIST k) (b :: LIST k) (c :: LIST k). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
Num a => Monoidal (MatK a) Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.Mat leftUnitor :: forall (a0 :: MatK a). Ob a0 => ((Unit :: MatK a) ** a0) ~> a0 Source Comments # leftUnitorInv :: forall (a0 :: MatK a). Ob a0 => a0 ~> ((Unit :: MatK a) ** a0) Source Comments # rightUnitor :: forall (a0 :: MatK a). Ob a0 => (a0 ** (Unit :: MatK a)) ~> a0 Source Comments # rightUnitorInv :: forall (a0 :: MatK a). Ob a0 => a0 ~> (a0 ** (Unit :: MatK a)) Source Comments # associator :: forall (a0 :: MatK a) (b :: MatK a) (c :: MatK a). (Ob a0, Ob b, Ob c) => ((a0 ** b) ** c) ~> (a0 ** (b ** c)) Source Comments # associatorInv :: forall (a0 :: MatK a) (b :: MatK a) (c :: MatK a). (Ob a0, Ob b, Ob c) => (a0 ** (b ** c)) ~> ((a0 ** b) ** c) Source Comments # | |||||||||
Monoidal (POCATK Constraint) Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.PreorderAsCategory
leftUnitor :: forall (a :: POCATK Constraint). Ob a => ((Unit :: POCATK Constraint) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: POCATK Constraint). Ob a => a ~> ((Unit :: POCATK Constraint) ** a) Source Comments # rightUnitor :: forall (a :: POCATK Constraint). Ob a => (a ** (Unit :: POCATK Constraint)) ~> a Source Comments # rightUnitorInv :: forall (a :: POCATK Constraint). Ob a => a ~> (a ** (Unit :: POCATK Constraint)) Source Comments # associator :: forall (a :: POCATK Constraint) (b :: POCATK Constraint) (c :: POCATK Constraint). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: POCATK Constraint) (b :: POCATK Constraint) (c :: POCATK Constraint). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
Monoidal k => Monoidal (REV k) Source Comments # | |||||||||
Defined in Proarrow.Category.Monoidal.Rev
leftUnitor :: forall (a :: REV k). Ob a => ((Unit :: REV k) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: REV k). Ob a => a ~> ((Unit :: REV k) ** a) Source Comments # rightUnitor :: forall (a :: REV k). Ob a => (a ** (Unit :: REV k)) ~> a Source Comments # rightUnitorInv :: forall (a :: REV k). Ob a => a ~> (a ** (Unit :: REV k)) Source Comments # associator :: forall (a :: REV k) (b :: REV k) (c :: REV k). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: REV k) (b :: REV k) (c :: REV k). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
Monoidal k => Monoidal (OPPOSITE k) Source Comments # | |||||||||
Defined in Proarrow.Category.Opposite
leftUnitor :: forall (a :: OPPOSITE k). Ob a => ((Unit :: OPPOSITE k) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: OPPOSITE k). Ob a => a ~> ((Unit :: OPPOSITE k) ** a) Source Comments # rightUnitor :: forall (a :: OPPOSITE k). Ob a => (a ** (Unit :: OPPOSITE k)) ~> a Source Comments # rightUnitorInv :: forall (a :: OPPOSITE k). Ob a => a ~> (a ** (Unit :: OPPOSITE k)) Source Comments # associator :: forall (a :: OPPOSITE k) (b :: OPPOSITE k) (c :: OPPOSITE k). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: OPPOSITE k) (b :: OPPOSITE k) (c :: OPPOSITE k). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
BiCCC k => Monoidal (FK k) Source Comments # | |||||||||
Defined in Proarrow.Helper.CCC
leftUnitor :: forall (a :: FK k). Ob a => ((Unit :: FK k) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: FK k). Ob a => a ~> ((Unit :: FK k) ** a) Source Comments # rightUnitor :: forall (a :: FK k). Ob a => (a ** (Unit :: FK k)) ~> a Source Comments # rightUnitorInv :: forall (a :: FK k). Ob a => a ~> (a ** (Unit :: FK k)) Source Comments # associator :: forall (a :: FK k) (b :: FK k) (c :: FK k). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: FK k) (b :: FK k) (c :: FK k). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
HasCoproducts k => Monoidal (COPROD k) Source Comments # | |||||||||
Defined in Proarrow.Object.BinaryCoproduct
leftUnitor :: forall (a :: COPROD k). Ob a => ((Unit :: COPROD k) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: COPROD k). Ob a => a ~> ((Unit :: COPROD k) ** a) Source Comments # rightUnitor :: forall (a :: COPROD k). Ob a => (a ** (Unit :: COPROD k)) ~> a Source Comments # rightUnitorInv :: forall (a :: COPROD k). Ob a => a ~> (a ** (Unit :: COPROD k)) Source Comments # associator :: forall (a :: COPROD k) (b :: COPROD k) (c :: COPROD k). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: COPROD k) (b :: COPROD k) (c :: COPROD k). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
HasProducts k => Monoidal (PROD k) Source Comments # | |||||||||
Defined in Proarrow.Object.BinaryProduct
leftUnitor :: forall (a :: PROD k). Ob a => ((Unit :: PROD k) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: PROD k). Ob a => a ~> ((Unit :: PROD k) ** a) Source Comments # rightUnitor :: forall (a :: PROD k). Ob a => (a ** (Unit :: PROD k)) ~> a Source Comments # rightUnitorInv :: forall (a :: PROD k). Ob a => a ~> (a ** (Unit :: PROD k)) Source Comments # associator :: forall (a :: PROD k) (b :: PROD k) (c :: PROD k). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: PROD k) (b :: PROD k) (c :: PROD k). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
Monoidal k => Monoidal [k] Source Comments # | |||||||||
Defined in Proarrow.Category.Monoidal.Strictified
leftUnitor :: forall (a :: [k]). Ob a => ((Unit :: [k]) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: [k]). Ob a => a ~> ((Unit :: [k]) ** a) Source Comments # rightUnitor :: forall (a :: [k]). Ob a => (a ** (Unit :: [k])) ~> a Source Comments # rightUnitorInv :: forall (a :: [k]). Ob a => a ~> (a ** (Unit :: [k])) Source Comments # associator :: forall (a :: [k]) (b :: [k]) (c :: [k]). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: [k]) (b :: [k]) (c :: [k]). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
(Promonad p, StrongProd p) => Monoidal (KLEISLI p) Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.Kleisli
leftUnitor :: forall (a :: KLEISLI p). Ob a => ((Unit :: KLEISLI p) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: KLEISLI p). Ob a => a ~> ((Unit :: KLEISLI p) ** a) Source Comments # rightUnitor :: forall (a :: KLEISLI p). Ob a => (a ** (Unit :: KLEISLI p)) ~> a Source Comments # rightUnitorInv :: forall (a :: KLEISLI p). Ob a => a ~> (a ** (Unit :: KLEISLI p)) Source Comments # associator :: forall (a :: KLEISLI p) (b :: KLEISLI p) (c :: KLEISLI p). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: KLEISLI p) (b :: KLEISLI p) (c :: KLEISLI p). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
(Monoidal k, ob (Unit :: k), forall (a :: k) (b :: k). (ob a, ob b) => IsObMult ob a b) => Monoidal (SUBCAT ob) Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.Sub leftUnitor :: forall (a :: SUBCAT ob). Ob a => ((Unit :: SUBCAT ob) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: SUBCAT ob). Ob a => a ~> ((Unit :: SUBCAT ob) ** a) Source Comments # rightUnitor :: forall (a :: SUBCAT ob). Ob a => (a ** (Unit :: SUBCAT ob)) ~> a Source Comments # rightUnitorInv :: forall (a :: SUBCAT ob). Ob a => a ~> (a ** (Unit :: SUBCAT ob)) Source Comments # associator :: forall (a :: SUBCAT ob) (b :: SUBCAT ob) (c :: SUBCAT ob). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: SUBCAT ob) (b :: SUBCAT ob) (c :: SUBCAT ob). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
(Monoidal j, Monoidal k) => Monoidal (PRO j k) Source Comments # | |||||||||
Defined in Proarrow.Profunctor.Day
leftUnitor :: forall (a :: PRO j k). Ob a => ((Unit :: PRO j k) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: PRO j k). Ob a => a ~> ((Unit :: PRO j k) ** a) Source Comments # rightUnitor :: forall (a :: PRO j k). Ob a => (a ** (Unit :: PRO j k)) ~> a Source Comments # rightUnitorInv :: forall (a :: PRO j k). Ob a => a ~> (a ** (Unit :: PRO j k)) Source Comments # associator :: forall (a :: PRO j k) (b :: PRO j k) (c :: PRO j k). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: PRO j k) (b :: PRO j k) (c :: PRO j k). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
(Monoidal j, Monoidal k) => Monoidal (j, k) Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.Product
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 # | |||||||||
Monoidal (Type -> Type) Source Comments # | |||||||||
Defined in Proarrow.Category.Instance.Nat leftUnitor :: forall (a :: Type -> Type). Ob a => ((Unit :: Type -> Type) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: Type -> Type). Ob a => a ~> ((Unit :: Type -> Type) ** a) Source Comments # rightUnitor :: forall (a :: Type -> Type). Ob a => (a ** (Unit :: Type -> Type)) ~> a Source Comments # rightUnitorInv :: forall (a :: Type -> Type). Ob a => a ~> (a ** (Unit :: Type -> Type)) Source Comments # associator :: forall (a :: Type -> Type) (b :: Type -> Type) (c :: Type -> Type). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: Type -> Type) (b :: Type -> Type) (c :: Type -> Type). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||||||
(Bicategory kk, Ob0 kk k) => Monoidal (ENDO kk k) Source Comments # | The monoidal subcategory of a bicategory for a single object. | ||||||||
Defined in Proarrow.Category.Monoidal.Endo
leftUnitor :: forall (a :: ENDO kk k). Ob a => ((Unit :: ENDO kk k) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: ENDO kk k). Ob a => a ~> ((Unit :: ENDO kk k) ** a) Source Comments # rightUnitor :: forall (a :: ENDO kk k). Ob a => (a ** (Unit :: ENDO kk k)) ~> a Source Comments # rightUnitorInv :: forall (a :: ENDO kk k). Ob a => a ~> (a ** (Unit :: ENDO kk k)) Source Comments # associator :: forall (a :: ENDO kk k) (b :: ENDO kk k) (c :: ENDO kk k). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: ENDO kk k) (b :: ENDO kk k) (c :: ENDO kk k). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # |
leftUnitor' :: forall k (a :: k) (b :: k). Monoidal k => (a ~> b) -> ((Unit :: k) ** a) ~> b Source Comments #
leftUnitorInv' :: forall k (a :: k) (b :: k). Monoidal k => (a ~> b) -> a ~> ((Unit :: k) ** b) Source Comments #
rightUnitor' :: forall k (a :: k) (b :: k). Monoidal k => (a ~> b) -> (a ** (Unit :: k)) ~> b Source Comments #
rightUnitorInv' :: forall k (a :: k) (b :: k). Monoidal k => (a ~> b) -> a ~> (b ** (Unit :: k)) Source Comments #
associator' :: forall {k} (a :: k) (b :: k) (c :: k). Monoidal k => Obj a -> Obj b -> Obj c -> ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments #
associatorInv' :: forall {k} (a :: k) (b :: k) (c :: k). Monoidal k => Obj a -> Obj b -> Obj c -> (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments #
class Monoidal k => SymMonoidal k where Source Comments #
swap' :: forall (a :: k) (a' :: k) (b :: k) (b' :: k). (a ~> a') -> (b ~> b') -> (a ** b) ~> (b' ** a') Source Comments #
Instances
SymMonoidal BOOL Source Comments # | |
SymMonoidal KIND Source Comments # | |
SymMonoidal CONSTRAINT Source Comments # | |
Defined in Proarrow.Category.Instance.Constraint swap' :: forall (a :: CONSTRAINT) (a' :: CONSTRAINT) (b :: CONSTRAINT) (b' :: CONSTRAINT). (a ~> a') -> (b ~> b') -> (a ** b) ~> (b' ** a') Source Comments # | |
SymMonoidal LINEAR Source Comments # | |
SymMonoidal () Source Comments # | |
SymMonoidal Type Source Comments # | |
Num a => SymMonoidal (MatK a) Source Comments # | |
SymMonoidal k => SymMonoidal (REV k) Source Comments # | |
SymMonoidal k => SymMonoidal (OPPOSITE k) Source Comments # | |
HasCoproducts k => SymMonoidal (COPROD k) Source Comments # | |
HasProducts k => SymMonoidal (PROD k) Source Comments # | |
(SymMonoidal k, ob (Unit :: k), forall (a :: k) (b :: k). (ob a, ob b) => IsObMult ob a b) => SymMonoidal (SUBCAT ob) Source Comments # | |
(SymMonoidal j, SymMonoidal k) => SymMonoidal (PRO j k) Source Comments # | |
(SymMonoidal j, SymMonoidal k) => SymMonoidal (j, k) Source Comments # | |
swap :: forall {k} (a :: k) (b :: k). (SymMonoidal k, Ob a, Ob b) => (a ** b) ~> (b ** a) Source Comments #
class (SymMonoidal k, Profunctor p) => TracedMonoidalProfunctor (p :: k +-> k) where Source Comments #
trace :: forall (u :: k) (x :: k) (y :: k). (Ob x, Ob y, Ob u) => p (x ** u) (y ** u) -> p x y Source Comments #
trace' :: forall (x :: k) (x' :: k) (y :: k) (y' :: k) (u :: k) (u' :: k). (x ~> x') -> (y ~> y') -> (u ~> u') -> p (x' ** u') (y ** u) -> p x y' Source Comments #
Instances
TracedMonoidalProfunctor Cat Source Comments # | |
Defined in Proarrow.Category.Instance.Cat 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 # | |
TracedMonoidalProfunctor Unit Source Comments # | |
Defined in Proarrow.Object.BinaryProduct | |
TracedMonoidalProfunctor (->) Source Comments # | |
Num a => TracedMonoidalProfunctor (Mat :: MatK a -> MatK a -> Type) Source Comments # | |
Defined in Proarrow.Category.Instance.Mat trace :: forall (u :: MatK a) (x :: MatK a) (y :: MatK a). (Ob x, Ob y, Ob u) => Mat (x ** u) (y ** u) -> Mat x y Source Comments # trace' :: forall (x :: MatK a) (x' :: MatK a) (y :: MatK a) (y' :: MatK a) (u :: MatK a) (u' :: MatK a). (x ~> x') -> (y ~> y') -> (u ~> u') -> Mat (x' ** u') (y ** u) -> Mat x y' Source Comments # |
class (TracedMonoidalProfunctor ((~>) :: CAT k), Monoidal k) => TracedMonoidal k Source Comments #
Instances
(TracedMonoidalProfunctor ((~>) :: CAT k), Monoidal k) => TracedMonoidal k Source Comments # | |
Defined in Proarrow.Category.Monoidal |
isObPar :: forall {k} (a :: k) (b :: k) r. (Monoidal k, Ob a, Ob b) => (Ob (a ** b) => r) -> r Source Comments #
first :: forall {k} (c :: k) (a :: k) (b :: k). (Monoidal k, Ob c) => (a ~> b) -> (a ** c) ~> (b ** c) Source Comments #
second :: forall {k} (c :: k) (a :: k) (b :: k). (Monoidal k, Ob c) => (a ~> b) -> (c ** a) ~> (c ** b) Source Comments #