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-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-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