On Thu, Jan 15, 2009 at 12:38 PM, Duncan Coutts
<duncan.coutts@worc.ox.ac.uk> wrote:
On Thu, 2009-01-15 at 19:46 +0000, Andrew Coppin wrote:
> PS. As a small aside... Is the Monoid class actually used *anywhere* in
> all of Haskell?
Yes.
They're used quite a lot in Cabal. Package databases are monoids.
Configuration files are monoids. Command line flags and sets of command
line flags are monoids. Package build information is a monoid.
It is also used in the Foldable class which is a nice interface for
traversing/visiting structures. Binary serialisation is also a monoid.
The Writer Monad requires that you give it a Monoid for it to do its work properly.
Duncan