Wed Jan 16 06:59:39 PST 2008 [EMAIL PROTECTED]
* The Core type-matcher should look through PredTypes
The core type-matcher Unify.match was previouly using tcView to expand
types, because it must treat newtypes as distinct from their representation.
But that meant that it also treated the PredType {C Int} as distinct from
its representation type (:TC Int). And that in turn was causing a rule
not to fire, because the argument types didn't match up.
For this to happen we need to get a situation where we have
a = :DC blah blah -- Dictionary
....(f a).....
Now a has type (:TC Int), bu the RULE for f expects an argument
of type {C Int}. Roman found that just this was happening.
M ./compiler/types/Unify.lhs -4 +5
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc