A linear semigroup a is a type with an associative binary operation <>
that linearly consumes two as.
Laws (same as Semigroup): * ∀ x ∈ G, y ∈ G, z ∈ G, x <> (y <> z) = (x <> y) <> z
Methods
(<>) :: a %1 -> a %1 -> ainfixr 6
Instances41Semigroup, …
Semigroup VoidDefined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupSemigroup AllDefined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupSemigroup AnyDefined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupSemigroup OrderingDefined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupSemigroup ()Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupSemigroup a => Semigroup (Ur a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupUseful to treat unrestricted semigroups as linear ones.
Semigroup (NonEmpty a)Defined in linear-base-0.4.0 · Data.List.Linear · orphanSemigroup (Array a)Defined in linear-base-0.4.0 · Data.Array.Polarized.Pull.InternalSemigroup (Array a)Defined in linear-base-0.4.0 · Data.Array.Polarized.PushSemigroup (ArrayWriter a)Defined in linear-base-0.4.0 · Data.Array.Polarized.PushSemigroup (Endo a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupSemigroup (Vector a)Defined in linear-base-0.4.0 · Data.Vector.Mutable.Linear.InternalSemigroup [a]Defined in linear-base-0.4.0 · Data.List.Linear · orphanSemigroup a => Semigroup (Identity a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupSemigroup a => Semigroup (Down a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupSemigroup a => Semigroup (Dual a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupSemigroup a => Semigroup (Maybe a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupSemigroup a => Semigroup (IO a)Defined in linear-base-0.4.0 · System.IO.LinearSemigroup a => Semigroup (RIO a)Defined in linear-base-0.4.0 · System.IO.Resource.Linear.InternalSemigroup a => Semigroup (a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupAdditive a => Semigroup (Sum a)Defined in linear-base-0.4.0 · Data.Num.Linear · orphanAdditive a => Semigroup (Adding a)Defined in linear-base-0.4.0 · Data.Num.LinearMultiplicative a => Semigroup (Product a)Defined in linear-base-0.4.0 · Data.Num.Linear · orphanMultiplicative a => Semigroup (Multiplying a)Defined in linear-base-0.4.0 · Data.Num.LinearKeyed a => Semigroup (Set a)Defined in linear-base-0.4.0 · Data.Set.Mutable.Linear.InternalConsumable a => Semigroup (First a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupConsumable a => Semigroup (Last a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupConsumable a => Semigroup (First a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupConsumable a => Semigroup (Last a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Semigroup(Movable a, Semigroup a) => Semigroup (MovableMonoid a)Defined in linear-base-0.4.0 · Data.Unrestricted.Linear.Internal.InstancesKeyed k => Semigroup (HashMap k v)Defined in linear-base-0.4.0 · Data.HashMap.Mutable.Linear.InternalSemigroup (Proxy a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Semigroup(Semigroup a, Semigroup b) => Semigroup (a, b)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Semigroup(Consumable a, Consumable b) => Semigroup (Either a b)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupSemigroup a => Semigroup (Const a b)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Semigroup(Applicative f, Semigroup a) => Semigroup (Ap f a)Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.Applicative · orphan(Semigroup a, Semigroup b, Semigroup c) => Semigroup (a, b, c)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Semigroup(Semigroup (f a), Semigroup (g a)) => Semigroup (Product f g a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Semigroup(Semigroup a, Semigroup b, Semigroup c, Semigroup d) => Semigroup (a, b, c, d)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.SemigroupSemigroup (f (g a)) => Semigroup (Compose f g a)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Semigroup(Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e) => Semigroup (a, b, c, d, e)Defined in linear-base-0.4.0 · Data.Monoid.Linear.Internal.Semigroup