I think perhaps the correct question here is not &quot;how many instances of Monoid are there?&quot;, but &quot;how many functions are written that can use an arbitrary Monoid&quot;. E.g., the fact that there are a lot of instances of Monad doesn&#39;t make it useful. There are a lot of instances of Monad because it&#39;s useful to have instances of Monad. Why? Because of&nbsp;<a href="http://www.haskell.org/ghc/docs/latest/html/libraries/base/Control-Monad.html">http://www.haskell.org/ghc/docs/latest/html/libraries/base/Control-Monad.html</a>&nbsp;! Look at all the cool stuff you can automagically do with your type just because it&#39;s an instance of Monad! I think that&#39;s the point. What can you do with arbitrary Monoids? Not much, as evidenced by&nbsp;<a href="http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-Monoid.html">http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-Monoid.html</a><div>
<br><div class="gmail_quote">On Thu, Jan 15, 2009 at 3:51 PM, Don Stewart <span dir="ltr">&lt;<a href="mailto:dons@galois.com" target="_blank">dons@galois.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">duncan.coutts:<br>
<div>&gt; On Thu, 2009-01-15 at 19:46 +0000, Andrew Coppin wrote:<br>
&gt;<br>
&gt; &gt; PS. As a small aside... Is the Monoid class actually used *anywhere* in<br>
&gt; &gt; all of Haskell?<br>
&gt;<br>
&gt; Yes.<br>
&gt;<br>
&gt; They&#39;re used quite a lot in Cabal. Package databases are monoids.<br>
&gt; Configuration files are monoids. Command line flags and sets of command<br>
&gt; line flags are monoids. Package build information is a monoid.<br>
&gt;<br>
&gt; It is also used in the Foldable class which is a nice interface for<br>
&gt; traversing/visiting structures. Binary serialisation is also a monoid.<br>
<br>
</div>Also, xmonad configuration hooks are monoidal. So all those xmonad users<br>
gluing together keybindings are using the Monoid class.<br>
<font color="#888888"><br>
-- Don<br>
</font><div><div></div><div>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br>
</div>