| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Data.Monoid.Instances.Concat
Description
This module defines the monoid transformer data type Concat.
Documentation
is a transparent monoid transformer. The behaviour of the Concat instances of monoid subclasses is
identical to the behaviour of their Concat aa 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).
Instances
| Functor Concat # | |
| Applicative Concat # | |
| Foldable Concat # | |
| (Eq a, Monoid a) => Eq (Concat a) # | |
| (Ord a, Monoid a) => Ord (Concat a) # | |
| Show a => Show (Concat a) # | |
| IsString a => IsString (Concat a) # | |
| PositiveMonoid a => Monoid (Concat a) # | |
| PositiveMonoid a => PositiveMonoid (Concat a) # | |
| PositiveMonoid a => MonoidNull (Concat a) # | |
| (FactorialMonoid a, PositiveMonoid a) => StableFactorialMonoid (Concat a) # | |
| (FactorialMonoid a, PositiveMonoid a) => FactorialMonoid (Concat a) # | |
| (RightGCDMonoid a, StableFactorialMonoid a) => RightGCDMonoid (Concat a) # | |
| (LeftGCDMonoid a, StableFactorialMonoid a) => LeftGCDMonoid (Concat a) # | |
| (RightReductiveMonoid a, StableFactorialMonoid a) => RightReductiveMonoid (Concat a) # | |
| (LeftReductiveMonoid a, StableFactorialMonoid a) => LeftReductiveMonoid (Concat a) # | |
| (Eq a, TextualMonoid a, StableFactorialMonoid a) => TextualMonoid (Concat a) # | |
concatenate :: PositiveMonoid a => Seq a -> Concat a #
Deprecated: Concat is not wrapping Seq any more, don't use concatenate nor extract.