I originally didn't have the package exporting those things. <div><br></div><div>I would be amenable to standardization without them, but I use them in about 20 packages that are built on top of semigroups, and naturals and non-empty lists come up when talking about semigroups a lot.</div>
<div><br></div><div>Rather than having them live way up in extension land with the rest of my algebra libraries i moved them down to where they could do some good and admit some optimizations.<br><br><div class="gmail_quote">
On Sun, Aug 14, 2011 at 2:21 PM, Chris Smith <span dir="ltr"><<a href="mailto:cdsmith@gmail.com">cdsmith@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Sun, 2011-08-14 at 21:05 +0300, Yitzchak Gale wrote:<br>
> Brandon Allbery wrote:<br>
> > Anything useful has to be modified to depend on SemiGroup as well to get<br>
> > mconcat or its replacement; that's why you jumped the proposal to begin<br>
> > with....<br>
><br>
> Not at all. Types with Monoid instances need an additional<br>
> instance, a Semgroup instance<br>
<br>
</div>That does require depending on semigroups though, and I think that's<br>
what Brandon was saying.<br>
<br>
Of course, the obvious solution to this would be to promote semigroups,<br>
e.g., by adding it to the Haskell Platform or including it in base...<br>
but the current semigroups package is a bit heavyweight for that; it<br>
exports four new modules for what is really a very simple concept!<br>
<br>
--<br>
<font color="#888888">Chris Smith<br>
</font><div><div></div><div class="h5"><br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">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>