Concat is a transparent monoid transformer. The behaviour of the Concat a instances of monoid subclasses is
identical to the behaviour of their a instances, up to the pure isomorphism.
The only purpose of Concat then is to change the performance characteristics of various operations. Most importantly, injecting a monoid into Concat has the effect of making mappend a constant-time operation. The splitPrimePrefix and splitPrimeSuffix operations are amortized to constant time, provided that only one or the other is used. Using both operations alternately will trigger the worst-case behaviour of O(n).
Instances20Functor, Applicative, Foldable, Eq, Data, Ord, …
Functor ConcatDefined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.ConcatApplicative ConcatDefined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.ConcatFoldable ConcatDefined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.Concat(Eq a, Semigroup a) => Eq (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.ConcatData a => Data (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.Concat(Ord a, Semigroup a) => Ord (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.ConcatShow a => Show (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.ConcatIsString a => IsString (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.ConcatPositiveMonoid a => Semigroup (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.ConcatPositiveMonoid a => Monoid (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.Concat(LeftGCDMonoid a, StableFactorial a, PositiveMonoid a) => LeftGCDMonoid (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.Concat(RightGCDMonoid a, StableFactorial a, PositiveMonoid a) => RightGCDMonoid (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.Concat(LeftReductive a, StableFactorial a, PositiveMonoid a) => LeftReductive (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.Concat(RightReductive a, StableFactorial a, PositiveMonoid a) => RightReductive (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.Concat(FactorialMonoid a, PositiveMonoid a) => FactorialMonoid (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.Concat(Factorial a, PositiveMonoid a) => Factorial (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.Concat(Factorial a, PositiveMonoid a) => StableFactorial (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.ConcatPositiveMonoid a => MonoidNull (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.ConcatPositiveMonoid a => PositiveMonoid (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.Concat(Eq a, TextualMonoid a, StableFactorial a, PositiveMonoid a) => TextualMonoid (Concat a)Defined in monoid-subclasses-1.2.5.1 · Data.Monoid.Instances.Concat