And they are already present in the semigroups package with those names and that Monoid.<br><br><div class="gmail_quote">On Fri, Dec 28, 2012 at 2:57 PM, Strake <span dir="ltr">&lt;<a href="mailto:strake888@gmail.com" target="_blank">strake888@gmail.com</a>&gt;</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 28/12/2012, Roman Cheplyaka &lt;<a href="mailto:roma@ro-che.info">roma@ro-che.info</a>&gt; wrote:<br>

&gt; 1. Actually, Max and Min are already there. No need to rename or do<br>
&gt;    anything.<br>
&gt;<br>
</div>&gt; ...<br>
<div class="im">&gt;<br>
&gt; So, the best solution seems to be to merge semigroups into base.<br>
&gt; My proposal would be to move only Data.Semigroup to base, as it will<br>
&gt; lead to significant simplification, but leave other modules (NonEmpty,<br>
&gt; Natural) in a separate package, since they are of limited applicability<br>
&gt; and would gain nothing by being inside base.<br>
<br>
</div>Agree. If we do so, we can thus define these:<br>
<div class="im"><br>
instance (Ord a, Bounded a) =&gt; Monoid (Max a)<br>
</div><div class="im">instance (Ord a, Bounded a) =&gt; Monoid (Min a)<br>
<br>
</div>no Maybe wrapper needed, and &quot;Max&quot; and &quot;Min&quot; are brief.<br>
<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/libraries" target="_blank">http://www.haskell.org/mailman/listinfo/libraries</a><br>
</div></div></blockquote></div><br>