Safe Haskell | None |
---|---|
Language | GHC2024 |
Proarrow.Monoid
Documentation
class (Monoidal k, Ob m) => Monoid (m :: k) where Source Comments #
Instances
Monoid 'TRU Source Comments # | |
Monoid m => Monoid (m :: Type) Source Comments # | |
Monoid ('CNSTRNT ()) Source Comments # | |
Monoid ('P Void) Source Comments # | |
Monoid ('P ()) Source Comments # | Conjunction with False = Nothing, True = Just () |
Monoid ('P [a] :: POINTED) Source Comments # | |
Monoid ('S 'Z) Source Comments # | |
(Monoidal k, Monoid m) => Monoid (Ap f m :: Type) Source Comments # | |
(Comonoid c, Monoid m, MonoidalProfunctor p) => Monoid (Wrapped p c m :: Type) Source Comments # | |
Monoid a => Monoid ('R a :: REV k) Source Comments # | |
Comonoid c => Monoid ('OP c :: OPPOSITE k) Source Comments # | |
(HasCoproducts k, Ob a) => Monoid ('COPR a :: COPROD k) Source Comments # | |
(Profunctor p, MonoidalProfunctor p) => Monoid (p :: j +-> k) Source Comments # | |
MonoidalProfunctor p => Monoid (Wrapped p :: k2 -> k1 -> Type) Source Comments # | |
(Bicategory kk, Ob (I :: kk a a), Monad m, Ob m) => Monoid ('E m :: ENDO kk a) Source Comments # | Monads are monoids in the category of endo-1-cells. |
combine :: forall {k} (m :: k). Monoid m => ((Unit :: k) ~> m) -> ((Unit :: k) ~> m) -> (Unit :: k) ~> m Source Comments #
class Monoid m => CommutativeMonoid (m :: k) Source Comments #
memptyAct :: forall {m} {c} (a :: m) (n :: c). (MonoidalAction m c, Monoid a, Ob n) => n ~> Act a n Source Comments #
mappendAct :: forall {m} {c} (a :: m) (n :: c). (MonoidalAction m c, Monoid a, Ob n) => Act a (Act a n) ~> Act a n Source Comments #
class (MonoidalAction m c, Monoid a, Ob n) => ModuleObject (a :: m) (n :: c) where Source Comments #
class (Monoidal k, Ob c) => Comonoid (c :: k) where Source Comments #
Instances
counitAct :: forall {m} {c} (a :: m) (n :: c). (MonoidalAction m c, Comonoid a, Ob n) => Act a n ~> n Source Comments #
comultAct :: forall {m} {c} (a :: m) (n :: c). (MonoidalAction m c, Comonoid a, Ob n) => Act a n ~> Act a (Act a n) Source Comments #
class Monoidal k => CopyDiscard k where Source Comments #
Minimal complete definition
Nothing
Methods
copy :: forall (a :: k). Ob a => a ~> (a ** a) Source Comments #
default copy :: forall (a :: k). (Supplies k (Comonoid :: k -> Constraint), Ob a) => a ~> (a ** a) Source Comments #
discard :: forall (a :: k). Ob a => a ~> (Unit :: k) Source Comments #
Instances
CopyDiscard BOOL Source Comments # | |
CopyDiscard KIND Source Comments # | |
CopyDiscard CONSTRAINT Source Comments # | |
Defined in Proarrow.Category.Instance.Constraint | |
CopyDiscard POINTED Source Comments # | |
CopyDiscard () Source Comments # | |
CopyDiscard Type Source Comments # | |
CopyDiscard k => CopyDiscard (REV k) Source Comments # | |
HasProducts k => CopyDiscard (PROD k) Source Comments # | |
(SymMonoidal k, CopyDiscard k) => CopyDiscard [k] Source Comments # | |
(Promonad p, MonoidalProfunctor p, CopyDiscard k) => CopyDiscard (KLEISLI p) Source Comments # | |
(SubMonoidal ob, CopyDiscard k) => CopyDiscard (SUBCAT ob) Source Comments # | |
(CopyDiscard k, Monoidal j, Supplies j (Monoid :: j -> Constraint)) => CopyDiscard (j +-> k) Source Comments # | |
(CopyDiscard j, CopyDiscard k) => CopyDiscard (j, k) Source Comments # | |
data MONOIDK (m :: k) Source Comments #
Constructors
M |
Instances
CommutativeMonoid m => Monoidal (MONOIDK m) Source Comments # | |||||
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 Comments # leftUnitor :: forall (a :: MONOIDK m). Ob a => ((Unit :: MONOIDK m) ** a) ~> a Source Comments # leftUnitorInv :: forall (a :: MONOIDK m). Ob a => a ~> ((Unit :: MONOIDK m) ** a) Source Comments # rightUnitor :: forall (a :: MONOIDK m). Ob a => (a ** (Unit :: MONOIDK m)) ~> a Source Comments # rightUnitorInv :: forall (a :: MONOIDK m). Ob a => a ~> (a ** (Unit :: MONOIDK m)) Source Comments # associator :: forall (a :: MONOIDK m) (b :: MONOIDK m) (c :: MONOIDK m). (Ob a, Ob b, Ob c) => ((a ** b) ** c) ~> (a ** (b ** c)) Source Comments # associatorInv :: forall (a :: MONOIDK m) (b :: MONOIDK m) (c :: MONOIDK m). (Ob a, Ob b, Ob c) => (a ** (b ** c)) ~> ((a ** b) ** c) Source Comments # | |||||
CommutativeMonoid m => SymMonoidal (MONOIDK m) Source Comments # | |||||
Monoid m => CategoryOf (MONOIDK m) Source Comments # | A monoid as a one object category. | ||||
Defined in Proarrow.Monoid | |||||
Monoid m => HasBinaryCoproducts (MONOIDK m) Source Comments # | |||||
Defined in Proarrow.Monoid Methods withObCoprod :: forall (a :: MONOIDK m) (b :: MONOIDK m) r. (Ob a, Ob b) => (Ob (a || b) => r) -> r Source Comments # lft :: forall (a :: MONOIDK m) (b :: MONOIDK m). (Ob a, Ob b) => a ~> (a || b) Source Comments # rgt :: forall (a :: MONOIDK m) (b :: MONOIDK m). (Ob a, Ob b) => b ~> (a || b) Source Comments # (|||) :: forall (x :: MONOIDK m) (a :: MONOIDK m) (y :: MONOIDK m). (x ~> a) -> (y ~> a) -> (x || y) ~> a Source Comments # (+++) :: forall (a :: MONOIDK m) (b :: MONOIDK m) (x :: MONOIDK m) (y :: MONOIDK m). (a ~> x) -> (b ~> y) -> (a || b) ~> (x || y) Source Comments # | |||||
Monoid m => HasBinaryProducts (MONOIDK m) Source Comments # | |||||
Defined in Proarrow.Monoid Methods withObProd :: forall (a :: MONOIDK m) (b :: MONOIDK m) r. (Ob a, Ob b) => (Ob (a && b) => r) -> r Source Comments # fst :: forall (a :: MONOIDK m) (b :: MONOIDK m). (Ob a, Ob b) => (a && b) ~> a Source Comments # snd :: forall (a :: MONOIDK m) (b :: MONOIDK m). (Ob a, Ob b) => (a && b) ~> b Source Comments # (&&&) :: forall (a :: MONOIDK m) (x :: MONOIDK m) (y :: MONOIDK m). (a ~> x) -> (a ~> y) -> a ~> (x && y) Source Comments # (***) :: forall (a :: MONOIDK m) (b :: MONOIDK m) (x :: MONOIDK m) (y :: MONOIDK m). (a ~> x) -> (b ~> y) -> (a && b) ~> (x && y) Source Comments # | |||||
CommutativeMonoid m => CompactClosed (MONOIDK m) Source Comments # | |||||
CommutativeMonoid m => StarAutonomous (MONOIDK m) Source Comments # | |||||
Defined in Proarrow.Monoid Methods dual :: forall (a :: MONOIDK m) (b :: MONOIDK m). (a ~> b) -> Dual b ~> Dual a Source Comments # dualInv :: forall (a :: MONOIDK m) (b :: MONOIDK m). (Ob a, Ob b) => (Dual a ~> Dual b) -> b ~> a Source Comments # 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 Comments # 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 Comments # | |||||
CommutativeMonoid m => Closed (MONOIDK m) Source Comments # | |||||
Defined in Proarrow.Monoid Methods withObExp :: forall (a :: MONOIDK m) (b :: MONOIDK m) r. (Ob a, Ob b) => (Ob (a ~~> b) => r) -> r Source Comments # curry :: forall (a :: MONOIDK m) (b :: MONOIDK m) (c :: MONOIDK m). (Ob a, Ob b) => ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # apply :: forall (a :: MONOIDK m) (b :: MONOIDK m). (Ob a, Ob b) => ((a ~~> b) ** a) ~> b Source Comments # (^^^) :: forall (a :: MONOIDK m) (b :: MONOIDK m) (x :: MONOIDK m) (y :: MONOIDK m). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # | |||||
Monoid m => HasInitialObject (MONOIDK m) Source Comments # | |||||
Defined in Proarrow.Monoid Associated Types
| |||||
Monoid m => HasTerminalObject (MONOIDK m) Source Comments # | |||||
Defined in Proarrow.Monoid Associated Types
| |||||
Monoid m => EnrichedProfunctor (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) Source Comments # | 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 Comments # 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 Comments # 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 Comments # 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 Comments # 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 Comments # | |||||
CommutativeMonoid m => MonoidalProfunctor (Mon :: MONOIDK m -> MONOIDK m -> Type) Source Comments # | |||||
Monoid m => Profunctor (Mon :: MONOIDK m -> MONOIDK m -> Type) Source Comments # | |||||
Monoid m => Promonad (Mon :: MONOIDK m -> MONOIDK m -> Type) Source Comments # | |||||
type Unit Source Comments # | |||||
Defined in Proarrow.Monoid | |||||
type (~>) Source Comments # | |||||
type InitialObject Source Comments # | |||||
Defined in Proarrow.Monoid | |||||
type TerminalObject Source Comments # | |||||
Defined in Proarrow.Monoid | |||||
type Ob (a :: MONOIDK m) Source Comments # | |||||
type (a :: MONOIDK m) || (b :: MONOIDK m) Source Comments # | |||||
type (a :: MONOIDK m) && (b :: MONOIDK m) Source Comments # | |||||
type (a :: MONOIDK m) ~~> (b :: MONOIDK m) Source Comments # | |||||
type Dual ('M :: MONOIDK m) Source Comments # | |||||
type ProObj (Clone k) (Mon :: MONOIDK m -> MONOIDK m -> Type) ('M :: MONOIDK m) ('M :: MONOIDK m) Source Comments # | |||||
type ('M :: MONOIDK m) ** ('M :: MONOIDK m) Source Comments # | |||||
data Mon (a :: MONOIDK m) (b :: MONOIDK m1) where Source Comments #
Constructors
Mon :: forall {k} {k1} {m1 :: k1} (m :: k). ((Unit :: k) ~> m) -> Mon ('M :: MONOIDK m) ('M :: MONOIDK m1) |