I think perhaps the correct question here is not "how many instances of Monoid are there?", but "how many functions are written that can use an arbitrary Monoid". E.g., the fact that there are a lot of instances of Monad doesn't make it useful. There are a lot of instances of Monad because it's useful to have instances of Monad. Why? Because of http://www.haskell.org/ghc/docs/latest/html/libraries/base/Control-Monad.html ! Look at all the cool stuff you can automagically do with your type just because it's an instance of Monad! I think that's the point. What can you do with arbitrary Monoids? Not much, as evidenced by http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-Monoid.html
duncan.coutts:
> On Thu, 2009-01-15 at 19:46 +0000, Andrew Coppin wrote:Also, xmonad configuration hooks are monoidal. So all those xmonad users
>
> > 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.
gluing together keybindings are using the Monoid class.
-- Don
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe