HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Modulelinear-base-0.4.0Haskell2010

Data.Monoid.Linear.Internal.Monoid

This module provides linear versions of Monoid.

To learn about how these classic monoids work, go to this school of haskell post.

  • 1 class
  • 2 values

Monoid operations

3 declarations
classclass Semigroup a => Monoid a where
#

A linear monoid is a linear semigroup with an identity on the binary operation.

Laws (same as Monoid): * ∀ x ∈ G, x <> mempty = mempty <> x = x

Methods

  • mempty :: a
Instances31Monoid, …
  • Monoid AllDefined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • Monoid AnyDefined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • Monoid OrderingDefined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • Monoid ()Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • Monoid a => Monoid (Ur a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid

    Useful to treat unrestricted monoids as linear ones.

  • Monoid (Array a)Defined in linear-base-0.4.0 · Data.Array.Polarized.Push
  • Monoid (ArrayWriter a)Defined in linear-base-0.4.0 · Data.Array.Polarized.Push
  • Monoid (Endo a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • Monoid [a]Defined in linear-base-0.4.0 · Data.List.Linear · orphan
  • Monoid a => Monoid (Identity a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • Monoid a => Monoid (Down a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • Monoid a => Monoid (Dual a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • Monoid a => Monoid (IO a)Defined in linear-base-0.4.0 · System.IO.Linear
  • Monoid a => Monoid (RIO a)Defined in linear-base-0.4.0 · System.IO.Resource.Linear.Internal
  • Semigroup a => Monoid (Maybe a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • AddIdentity a => Monoid (Sum a)Defined in linear-base-0.4.0 · Data.Num.Linear · orphan
  • AddIdentity a => Monoid (Adding a)Defined in linear-base-0.4.0 · Data.Num.Linear
  • MultIdentity a => Monoid (Product a)Defined in linear-base-0.4.0 · Data.Num.Linear · orphan
  • MultIdentity a => Monoid (Multiplying a)Defined in linear-base-0.4.0 · Data.Num.Linear
  • Consumable a => Monoid (First a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • Consumable a => Monoid (Last a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • (Movable a, Monoid a) => Monoid (MovableMonoid a)Defined in linear-base-0.4.0 · Data.Unrestricted.Linear.Internal.Instances
  • Monoid (Proxy a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • (Monoid a, Monoid b) => Monoid (a, b)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • Monoid a => Monoid (Const a b)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • (Applicative f, Monoid a) => Monoid (Ap f a)Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.Applicative · orphan
  • (Monoid a, Monoid b, Monoid c) => Monoid (a, b, c)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • (Monoid (f a), Monoid (g a)) => Monoid (Product f g a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • (Monoid a, Monoid b, Monoid c, Monoid d) => Monoid (a, b, c, d)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • Monoid (f (g a)) => Monoid (Compose f g a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
  • (Monoid a, Monoid b, Monoid c, Monoid d, Monoid e) => Monoid (a, b, c, d, e)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Monoid
valuemconcat :: Monoid a => [a] %1 -> a
#
valuemappend :: Monoid a => a %1 -> a %1 -> a
#

Orphan instances

2 instances