patch applied (ghc-6.8/ghc): MERGED: Reorganise TcSimplify (again);
FIX Trac #1919
Ian Lynagh
igloo at earth.li
Mon Dec 3 10:09:47 EST 2007
Mon Dec 3 06:04:43 PST 2007 Ian Lynagh <igloo at earth.li>
* MERGED: Reorganise TcSimplify (again); FIX Trac #1919
simonpj at microsoft.com**20071128173146
This was a bit tricky. We had a "given" dict like (d7:Eq a); then it got
supplied to reduceImplication, which did some zonking, and emerged with
a "needed given" (d7:Eq Int). That got everything confused.
I found a way to simplify matters significantly. Now reduceContext
- first deals with methods/literals/dictionaries
- then deals with implications
Separating things in this way not only made the bug go away, but
eliminated the need for the recently-added "needed-givens" results returned
by checkLoop. Hurrah.
It's still a swamp. But it's a bit better.
M ./compiler/typecheck/TcSimplify.lhs -123 +69
More information about the Cvs-ghc
mailing list