<div>Obviously `mappend` is good enough as it is.</div><div><br></div><div>Choosing (+>) or (<>) are just for prettifying code.</div><div><br></div><div>Generalizing (++) not only makes the code prettier, but also brings Monoid into the Prelude.</div>
<div><br></div><div>You can either Do It Right(tm), or be conservative and try to maintain backwards compatibility as much as possible.</div><div><br></div><div>I suspect most people in the community understand the trade-offs here, and would agree on the proper solution. If that means rewriting the standard, then so be it.</div>
<div><br><br><div class="gmail_quote">On Wed, Jul 1, 2009 at 12:26 PM, Ross Paterson <span dir="ltr"><<a href="mailto:ross@soi.city.ac.uk">ross@soi.city.ac.uk</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 Wed, Jul 01, 2009 at 10:55:39AM -0700, Bryan O'Sullivan wrote:<br>
> Okay, here's a tentative plan that will help to figure out the answer. I'll<br>
> build a fiddled base package that rewires the Monoid class to have (++) be the<br>
> binary operator, and mappend as a synonym for it. I'll import the Monoid (++)<br>
> into the Prelude. I'll see how much breaks. If that much builds smoothly, I'll<br>
> see how much of the rest of Hackage builds, both with and without this custom<br>
> base package. I'll follow up here with the results, along with a suggestion of<br>
> how acceptable I think the observed level of breakage is.<br>
<br>
</div>Generalizing (++) will break some Haskell 98 code, e.g.<br>
<br>
append = (++)<br>
<br>
I think that's a show-stopper.<br>
<div><div></div><div class="h5">_______________________________________________<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>