patch applied (ghc): Reorganise TcSimplify (again); FIX Trac #1919
Simon Peyton Jones
simonpj at microsoft.com
Mon Dec 3 06:32:22 EST 2007
Wed Nov 28 09:31:46 PST 2007 simonpj at microsoft.com
* Reorganise TcSimplify (again); FIX Trac #1919
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 -122 +69
More information about the Cvs-ghc
mailing list