<div dir="ltr">On Fri, Jan 25, 2013 at 3:18 PM,  <span dir="ltr">&lt;<a href="mailto:s9gf4ult@gmail.com" target="_blank">s9gf4ult@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="font-family:&#39;monospace&#39;">Duplicate instance declarations:</span></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="font-family:&#39;monospace&#39;">      instance [incoherent] (Num a, Ord a, Rangable range a,</span></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="font-family:&#39;monospace&#39;">                             Packable range a) =&gt;</span></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="font-family:&#39;monospace&#39;">                            SubtypeOf range a</span></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="font-family:&#39;monospace&#39;">        -- Defined at ...:22:10</span></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="font-family:&#39;monospace&#39;">      instance [incoherent] (Integral a, Packable range a,</span></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="font-family:&#39;monospace&#39;">                             MultipleTo range a) =&gt;</span></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="font-family:&#39;monospace&#39;">                            SubtypeOf range a</span></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="font-family:&#39;monospace&#39;">        -- Defined at ...:29:10</span></p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"></p></blockquote></div><br>This would be correct.  Constraints on an instance are applied *after* the instance is selected, so when Haskell is looking for an instance, these two are identical.<div>
<br></div><div>This has the code smell of trying to use typeclasses for OOP.  That won&#39;t work.  (Yes, really.)<br clear="all"><div><br></div>-- <br><div dir="ltr"><div>brandon s allbery kf8nh                               sine nomine associates</div>
<div><a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a>                                  <a href="mailto:ballbery@sinenomine.net" target="_blank">ballbery@sinenomine.net</a></div><div>unix, openafs, kerberos, infrastructure, xmonad        <a href="http://sinenomine.net" target="_blank">http://sinenomine.net</a></div>
</div>
</div></div>