| Maintainer | diagrams-discuss@googlegroups.com |
|---|---|
| Safe Haskell | Safe-Infered |
Data.Monoid.Split
Description
Sometimes we want to accumulate values from some monoid, but have
the ability to introduce a "split" which separates values on
either side. For example, in the diagrams graphics framework this
is used when accumulating transformations to be applied to
primitive diagrams: the freeze operation introduces a split,
since only transformations occurring outside the freeze should be
applied to attributes.
Documentation
A value of type Split m is either a single m, or a pair of
m's separated by a divider.
Instances
| (Semigroup m, Monoid m) => Monoid (Split m) | |
| Semigroup m => Semigroup (Split m) | If |
| Action m n => Action (Split m) n | By default, the action of a split monoid is the same as for the underlying monoid, as if the split were removed. |