| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Monoid
Contents
Documentation
class (Monoidal k, Ob m) => Monoid (m :: k) where Source Github #
Instances
combine :: forall {k} (m :: k). Monoid m => ((Unit :: k) ~> m) -> ((Unit :: k) ~> m) -> (Unit :: k) ~> m Source Github #
class Monoid m => CommutativeMonoid (m :: k) Source Github #
Instances
| (HasZeroObject k, HasBiproducts k, Ob a, Ob b) => CommutativeMonoid (Id a b :: Type) Source Github # | |
Defined in Proarrow.Monoid | |
memptyAct :: forall {m} {c} (a :: m) (n :: c). (MonoidalAction m c, Monoid a, Ob n) => n ~> Act a n Source Github #
mappendAct :: forall {m} {c} (a :: m) (n :: c). (MonoidalAction m c, Monoid a, Ob n) => Act a (Act a n) ~> Act a n Source Github #
class (MonoidalAction m c, Monoid a, Ob n) => ModuleObject (a :: m) (n :: c) where Source Github #
class (Monoidal k, Ob c) => Comonoid (c :: k) where Source Github #
Instances
counitAct :: forall {m} {c} (a :: m) (n :: c). (MonoidalAction m c, Comonoid a, Ob n) => Act a n ~> n Source Github #
comultAct :: forall {m} {c} (a :: m) (n :: c). (MonoidalAction m c, Comonoid a, Ob n) => Act a n ~> Act a (Act a n) Source Github #
data MONOIDK (m :: k) Source Github #
Constructors
| M |
Instances
| CommutativeMonoid m => Monoidal (MONOIDK m) Source Github # | |||||
Defined in Proarrow.Monoid Associated Types
Methods withOb2 :: forall (a :: MONOIDK m) (b :: MONOIDK m) r. (Ob a, Ob b) => (Ob (a ** b) => r) -> r Source Github # leftUnitor :: forall (a :: MONOIDK m). Ob a => ((Unit :: MONOIDK m) ** a) ~> a Source Github # leftUnitorInv :: forall (a :: MONOIDK m). Ob a => a ~> ((Unit :: MONOIDK m) ** a) Source Github # rightUnitor :: forall (a :: MONOIDK m). Ob a => (a ** (Unit :: MONOIDK m)) ~> a Source Github # rightUnitorInv :: forall (a :: MONOIDK m). Ob a => a ~> (a ** (Unit :: MONOIDK m)) Source Github # associator :: forall (a :: MONOIDK m) (b :: MONOIDK m) (c :: MONOIDK m). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Github # associatorInv :: forall (a :: MONOIDK m) (b :: MONOIDK m) (c :: MONOIDK m). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Github # | |||||
| CommutativeMonoid m => SymMonoidal (MONOIDK m) Source Github # | |||||
| Monoid m => CategoryOf (MONOIDK m) Source Github # | A monoid as a one object category. | ||||
Defined in Proarrow.Monoid | |||||
| Monoid m => HasBinaryCoproducts (MONOIDK m) Source Github # | |||||
Defined in Proarrow.Monoid Methods withObCoprod :: forall (a :: MONOIDK m) (b :: MONOIDK m) r. (Ob a, Ob b) => (Ob (a || b) => r) -> r Source Github # lft :: forall (a :: MONOIDK m) (b :: MONOIDK m). (Ob a, Ob b) => a ~> (a || b) Source Github # rgt :: forall (a :: MONOIDK m) (b :: MONOIDK m). (Ob a, Ob b) => b ~> (a || b) Source Github # (|||) :: forall (x :: MONOIDK m) (a :: MONOIDK m) (y :: MONOIDK m). (x ~> a) -> (y ~> a) -> (x || y) ~> a Source Github # (+++) :: forall (a :: MONOIDK m) (b :: MONOIDK m) (x :: MONOIDK m) (y :: MONOIDK m). (a ~> x) -> (b ~> y) -> (a || b) ~> (x || y) Source Github # | |||||
| Monoid m => HasBinaryProducts (MONOIDK m) Source Github # | |||||
Defined in Proarrow.Monoid Methods withObProd :: forall (a :: MONOIDK m) (b :: MONOIDK m) r. (Ob a, Ob b) => (Ob (a && b) => r) -> r Source Github # fst :: forall (a :: MONOIDK m) (b :: MONOIDK m). (Ob a, Ob b) => (a && b) ~> a Source Github # snd :: forall (a :: MONOIDK m) (b :: MONOIDK m). (Ob a, Ob b) => (a && b) ~> b Source Github # (&&&) :: forall (a :: MONOIDK m) (x :: MONOIDK m) (y :: MONOIDK m). (a ~> x) -> (a ~> y) -> a ~> (x && y) Source Github # (***) :: forall (a :: MONOIDK m) (b :: MONOIDK m) (x :: MONOIDK m) (y :: MONOIDK m). (a ~> x) -> (b ~> y) -> (a && b) ~> (x && y) Source Github # | |||||
| CommutativeMonoid m => CompactClosed (MONOIDK m) Source Github # | |||||
| CommutativeMonoid m => StarAutonomous (MONOIDK m) Source Github # | |||||
Defined in Proarrow.Monoid Methods dual :: forall (a :: MONOIDK m) (b :: MONOIDK m). (a ~> b) -> Dual b ~> Dual a Source Github # dualInv :: forall (a :: MONOIDK m) (b :: MONOIDK m). (Ob a, Ob b) => (Dual a ~> Dual b) -> b ~> a Source Github # linDist :: forall (a :: MONOIDK m) (b :: MONOIDK m) (c :: MONOIDK m). (Ob a, Ob b, Ob c) => ((a ** b) ~> Dual c) -> a ~> Dual (b ** c) Source Github # linDistInv :: forall (a :: MONOIDK m) (b :: MONOIDK m) (c :: MONOIDK m). (Ob a, Ob b, Ob c) => (a ~> Dual (b ** c)) -> (a ** b) ~> Dual c Source Github # | |||||
| CommutativeMonoid m => Closed (MONOIDK m) Source Github # | |||||
Defined in Proarrow.Monoid Methods withObExp :: forall (a :: MONOIDK m) (b :: MONOIDK m) r. (Ob a, Ob b) => (Ob (a ~~> b) => r) -> r Source Github # curry :: forall (a :: MONOIDK m) (b :: MONOIDK m) (c :: MONOIDK m). (Ob a, Ob b) => ((a ** b) ~> c) -> a ~> (b ~~> c) Source Github # apply :: forall (a :: MONOIDK m) (b :: MONOIDK m). (Ob a, Ob b) => ((a ~~> b) ** a) ~> b Source Github # (^^^) :: forall (a :: MONOIDK m) (b :: MONOIDK m) (x :: MONOIDK m) (y :: MONOIDK m). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Github # | |||||
| Monoid m => HasInitialObject (MONOIDK m) Source Github # | |||||
Defined in Proarrow.Monoid Associated Types
| |||||
| Monoid m => HasTerminalObject (MONOIDK m) Source Github # | |||||
Defined in Proarrow.Monoid Associated Types
| |||||
| Monoid m => EnrichedProfunctor (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) Source Github # | A monoid is a one object enriched category. | ||||
Defined in Proarrow.Category.Enriched Methods withProObj :: forall (a :: MONOIDK m) (b :: MONOIDK m) r. (Ob a, Ob b) => (Ob (ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) a b) => r) -> r Source Github # underlying :: forall (a :: MONOIDK m) (b :: MONOIDK m). Mon a b -> (Unit :: Clone k) ~> ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) a b Source Github # enriched :: forall (a :: MONOIDK m) (b :: MONOIDK m). (Ob a, Ob b) => ((Unit :: Clone k) ~> ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) a b) -> Mon a b Source Github # rmap :: forall (a :: MONOIDK m) (b :: MONOIDK m) (c :: MONOIDK m). (Ob a, Ob b, Ob c) => (HomObj (Clone k) b c ** ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) a b) ~> ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) a c Source Github # lmap :: forall (a :: MONOIDK m) (b :: MONOIDK m) (c :: MONOIDK m). (Ob a, Ob b, Ob c) => (HomObj (Clone k) c a ** ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) a b) ~> ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) c b Source Github # | |||||
| CommutativeMonoid m => MonoidalProfunctor (Mon :: MONOIDK m -> MONOIDK m -> Type) Source Github # | |||||
| Monoid m => Profunctor (Mon :: MONOIDK m -> MONOIDK m -> Type) Source Github # | |||||
| Monoid m => Promonad (Mon :: MONOIDK m -> MONOIDK m -> Type) Source Github # | |||||
| type Unit Source Github # | |||||
Defined in Proarrow.Monoid | |||||
| type (~>) Source Github # | |||||
| type InitialObject Source Github # | |||||
Defined in Proarrow.Monoid | |||||
| type TerminalObject Source Github # | |||||
Defined in Proarrow.Monoid | |||||
| type Ob (a :: MONOIDK m) Source Github # | |||||
| type (a :: MONOIDK m) || (b :: MONOIDK m) Source Github # | |||||
| type (a :: MONOIDK m) && (b :: MONOIDK m) Source Github # | |||||
| type (a :: MONOIDK m) ~~> (b :: MONOIDK m) Source Github # | |||||
| type Dual ('M :: MONOIDK m) Source Github # | |||||
| type ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) ('M :: MONOIDK m) ('M :: MONOIDK m) Source Github # | |||||
| type ('M :: MONOIDK m) ** ('M :: MONOIDK m) Source Github # | |||||
data Mon (a :: MONOIDK m) (b :: MONOIDK m1) where Source Github #
Constructors
| Mon :: forall {k} {k1} {m1 :: k1} (m :: k). ((Unit :: k) ~> m) -> Mon ('M :: MONOIDK m) ('M :: MONOIDK m1) |
Instances
Orphan instances
| (Monoidal k, Comonoid r) => MonoidalProfunctor (Corep (Constant r) :: k -> k -> Type) Source Github # | |
| (Monoidal k, Monoid r) => MonoidalProfunctor (Rep (Constant r) :: k -> k -> Type) Source Github # | |
| (HasCoproducts k, Ob r) => MonoidalProfunctor (Coprod (Rep (Constant r)) :: COPROD k -> COPROD k -> Type) Source Github # | |
Methods par0 :: Coprod (Rep (Constant r)) (Unit :: COPROD k) (Unit :: COPROD k) Source Github # par :: forall (x1 :: COPROD k) (x2 :: COPROD k) (y1 :: COPROD k) (y2 :: COPROD k). Coprod (Rep (Constant r)) x1 x2 -> Coprod (Rep (Constant r)) y1 y2 -> Coprod (Rep (Constant r)) (x1 ** y1) (x2 ** y2) Source Github # | |
| (HasZeroObject k, HasBiproducts k, Ob a, Ob b) => Monoid (Id a b) Source Github # | |
| (HasZeroObject k, HasBiproducts k, Ob a, Ob b) => Semigroup (Id a b) Source Github # | |