<p dir="ltr">For what it's worth, I also think it would be really useful to get a trace of the constraint simplification when there's a resolution failure. Unification could make some bits hard to understand, but anything would be better than nothing.</p>
<div class="gmail_extra"><br><div class="gmail_quote">On Aug 15, 2016 10:50 AM, "Tom Ellis" <<a href="mailto:tom-lists-haskell-cafe-2013@jaguarpaw.co.uk">tom-lists-haskell-cafe-2013@jaguarpaw.co.uk</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, Aug 15, 2016 at 03:40:46PM +0100, Malcolm Wallace wrote:<br>
> It is no surprise that the instance Eq A is not mentioned, because there<br>
> is a perfectly valid instance for it already, and it contains no error.<br>
<br>
I disagree.<br>
<br>
There is no valid instance for Eq (A B), because all that the compiler knows<br>
is that 'Eq B => Eq (A B)', and there is no 'Eq B'.<br>
<br>
There are two separate issues here.<br>
<br>
1. The reason the compilation fails is that there is no instance 'Eq (A B)'.<br>
<br>
2. The reason there is no instance 'Eq (A B)' is that there is no instance<br>
   'Eq B'.<br>
<br>
In my opinion it would be most helpful to the user to mention both 1 and 2.<br>
In fact it's likely to be very confusing if you don't mention both of them!<br>
<br>
Tom<br>
______________________________<wbr>_________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/haskell-<wbr>cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div></div>