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

Reply via email to