On Wed, Jan 2, 2013 at 11:20 AM, Dan Doel <[email protected]> wrote:

> Note that even left-to-right behavior covers all cases, as you might have:
>
>     f x y
>
> such that y requires x to be checked polymorphically in the same way.
> There are algorithms that can get this right in general, but it's a little
> tricky, and they're rather different than GHC's algorithm, so I don't know
> whether it's possible to make GHC behave correctly.
>

Oops, that should have been, "note that not even left-to-right behavior
covers all cases."

Also, I don't mean to imply that GHC is behaving wrongly. Situations like
these are usually the result of necessary trade-offs in the algorithms. GHC
does a lot of things that algorithms that successfully check this type of
examples don't have to deal with at all. You have to pick your poison.

-- Dan
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to