Wed Feb 21 08:30:47 PST 2007 [EMAIL PROTECTED]
* Deal more correctly with orphan instances
Conal Eliott (Trac #1145) exposed a nasty flaw in the way in which
orphan instances are computed, when there are functional dependencies
in the class. It took me some time to figure out what was going on,
and led to more refactoring.
Briefly:
* Elaborate comments about orphan-hood and versioning added to IfaceSyn
* The is_orph field vanishes from InstEnv.Instance
* Similarly ru_orph vanishes from CoreSyn.CoreRule
* Orphan-hood is computed in MkIface.instanceToIfaceInst, and
MkIface.coreRuleToIfaceRule
Elsewhere just tidying up.
M ./compiler/coreSyn/CoreSyn.lhs -4 +2
M ./compiler/deSugar/Desugar.lhs -10 +1
M ./compiler/iface/IfaceSyn.lhs -2 +78
M ./compiler/iface/MkIface.lhs -16 +48
M ./compiler/iface/TcIface.lhs -2 +2
M ./compiler/rename/RnNames.lhs -4 +4
M ./compiler/specialise/Rules.lhs -1 +1
M ./compiler/types/FunDeps.lhs -10 +14
M ./compiler/types/InstEnv.lhs -48 +11
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc