Monoid

module Data.Monoid
base Data.Monoid
A class for monoids (types with an associative binary operation that has an identity) with various general-purpose instances.
class Monoid a
base Data.Monoid
The class of monoids (types with an associative binary operation that has an identity). Instances should satisfy the following laws: * append mempty x = * append x mempty = * append x (mappend y z) = mappend (mappend x y) * concat = foldr mappend memp The method names refer to the monoid of lists under concatenation, but there are many other instances. Minimal complete definition: mempty and mappend. Some types can be viewed as a monoid in more than one way, e.g. both addition and multiplication on numbers. In such cases we often define newtypes and make those instances of Monoid, e.g. Sum and Product.
package monoid-extras
package
Various extra monoid-related definitions and utilities, such as monoid actions, monoid coproducts, "deletable" monoids, "split" monoids, and "cut" monoids. Version 0.3.2.4
package monoid-owns
package
a practical monoid implementation Version 2010.5.29
package monoid-record
package
Small module with utility function and class for modifying record fields of a monoidal type. Version 0.1
package monoid-statistics
package
Monoids for calculation of statistics of sample. This approach allows to calculate many statistics in one pass over data and possibility to parallelize calculations. However not all statistics could be calculated this way. This packages is quite similar to monoids package but limited to calculation on statistics. In particular it makes use of commutatitvity of statistical monoids. Changes: * 0.3.1 Better documentation; Fix in Min/Max monoids Version 0.3.1
package monoid-subclasses
package
A hierarchy of subclasses of Monoid together with their instances for all data structures from base, containers, and text packages. Version 0.3.5
package monoid-transformer
package
Monoid transformers: State, Reader There is no Writer transformer. It's vice versa: The Writer monad transforms a monoid to a monad. Version 0.0.2
package monoidplus
package
package monoids
package
Deprecated: Use reducers Version 0.3.2
package HoleyMonoid
package
The HoleyMonoid allows building monoidal values of which certain components are to be filled in later. For example: > > let holey = now "x = " > . later show > . now ", y = " > . later show > > run holey 3 5 > "x = 3, y = 5" Version 0.1
package polyToMonoid
package
A polyvariadic function takes an indefinite number of possibly differently typed parameters. polyToMonoid provides two polyvariadic functions that map their parameters into a given monoid. Version 0.1