Wed Nov 28 09:31:46 PST 2007 [EMAIL PROTECTED]
* 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
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc