<p dir="ltr">I am (+1) on adding Semigroup as superclass of Monoid, being mappend/(<>) included in Semigroup. More than once I felt encouraged to include a neutral element in a type where I would have gladly go without having it. Importing semigroups from Hackage would mean to have two identical operators, idea I do not find attractive.</p>
<p dir="ltr">About the path to choose for adoption, any of the ways described by Edward Kmett seems good to me (I can quickly update any of my packages to the change), but I'd rather avoid the longest one.</p>
<p dir="ltr">Daniel Díaz</p>
<div class="gmail_quote">On Mar 30, 2015 9:09 PM, "Edward Kmett" <<a href="mailto:ekmett@gmail.com">ekmett@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">That definitely pushes me towards one of the "long" adoption paths.<div><br></div><div>Here adding a Semigroup instance for Matrix actually works to get the same symbol, but it has a different fixity (infixr 8). Same with (<>) in the pretty printing libraries (infixl 6).</div><div><br></div><div>In Data.Monoid and Data.Semigroup we have infixr 6 <></div><div><br></div><div>-Edward</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 30, 2015 at 2:51 PM, Henning Thielemann <span dir="ltr"><<a href="mailto:lemming@henning-thielemann.de" target="_blank">lemming@henning-thielemann.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span><br>
On Mon, 30 Mar 2015, Edward Kmett wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Collapse the first two steps into one step, but this means that nobody gets any warning of new names coming<br>
into the Prelude. On the other hand this would get us all the way to done by 7.14. On one hand, the first<br>
order consequence the amount of breakage caused by adding Semigroup to Prelude and taking (<>) is almost<br>
entirely confined to a handful of pretty printing libraries -- and we already broke those same libraries by<br>
taking (<$>).<br>
</blockquote>
<br></span>
Btw. hmatrix is another prominent package defining (<>) for matrix and related multiplications.<br>
</blockquote></div><br></div>
<br>_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
<br></blockquote></div>