<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>Matt Morrow:</div><blockquote type="cite">On Mon, Apr 6, 2009 at 7:39 PM, Manuel M T Chakravarty <span dir="ltr">&lt;<a href="mailto:chak@cse.unsw.edu.au">chak@cse.unsw.edu.au</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> Peter Berry:<div><div class="h5"><br> <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> 3) we apply appl to x, so Memo d1 a = Memo d a. unify d = d1<br> <br> But for some reason, step 3 fails.<br> </blockquote> <br></div></div> Step 3 is invalid - cf, &lt;<a href="http://www.haskell.org/pipermail/haskell-cafe/2009-April/059196.html" target="_blank">http://www.haskell.org/pipermail/haskell-cafe/2009-April/059196.html</a>&gt;.<br> <br>More generally, the signature of memo_fmap is ambiguous, and hence, correctly rejected. &nbsp;We need to improve the error message, though. &nbsp;Here is a previous discussion of the subject:<br> <br> &nbsp;<a href="http://www.mail-archive.com/haskell-cafe@haskell.org/msg39673.html" target="_blank">http://www.mail-archive.com/haskell-cafe@haskell.org/msg39673.html</a><br><font color="#888888"> <br> Manuel</font></blockquote></div><br>The thing that confuses me about this case is how, if the type sig on memo_fmap is omitted, ghci has no problem with it, and even gives it the type that it rejected:<br></blockquote><div><br></div></div>Basically, type checking proceeds in one of two modes: inferring or checking. &nbsp;The former is when there is no signature is given; the latter, if there is a user-supplied signature. &nbsp;GHC can infer&nbsp;ambiguous signatures, but it cannot check them. &nbsp;This is of course very confusing and we need to fix this (by preventing GHC from inferring ambiguous signatures). &nbsp;The issue is also discussed in the mailing list thread I cited in my previous reply.<div><br></div><div>Manuel</div><div><br></div><div>PS: I do realise that ambiguous signatures are the single most confusing issue concerning type families (at least judging from the amount of mailing list traffic generated). &nbsp;We'll do our best to improve the situation before 6.12 comes out.</div></body></html>