A value of type Split m is either a single m, or a pair of
m's separated by a divider. Single m's combine as usual;
single m's combine with split values by combining with the
value on the appropriate side; when two split values meet only
the rightmost split is kept, with both the values from the left
split combining with the left-hand value of the right split.
Data.Monoid.Cut is similar, but uses a different scheme for
composition. Split uses the asymmetric constructor :|, and
Cut the symmetric constructor :||:, to emphasize the inherent
asymmetry of Split and symmetry of Cut. Split keeps only
the rightmost split and combines everything on the left; Cut
keeps the outermost splits and throws away everything in between.
Instances10Functor, Foldable, Traversable, Eq, Data, Read, …
Functor SplitDefined in monoid-extras-0.6.2 · Data.Monoid.SplitFoldable SplitDefined in monoid-extras-0.6.2 · Data.Monoid.SplitTraversable SplitDefined in monoid-extras-0.6.2 · Data.Monoid.SplitEq m => Eq (Split m)Defined in monoid-extras-0.6.2 · Data.Monoid.SplitData m => Data (Split m)Defined in monoid-extras-0.6.2 · Data.Monoid.SplitRead m => Read (Split m)Defined in monoid-extras-0.6.2 · Data.Monoid.SplitShow m => Show (Split m)Defined in monoid-extras-0.6.2 · Data.Monoid.SplitSemigroup m => Semigroup (Split m)Defined in monoid-extras-0.6.2 · Data.Monoid.SplitIf
mis aSemigroup, thenSplit mis a semigroup which combines values on either side of a split, keeping only the rightmost split.(Semigroup m, Monoid m) => Monoid (Split m)Defined in monoid-extras-0.6.2 · Data.Monoid.SplitAction m n => Action (Split m) nDefined in monoid-extras-0.6.2 · Data.Monoid.SplitBy default, the action of a split monoid is the same as for the underlying monoid, as if the split were removed.