patch applied (ghc): Deal more correctly with orphan instances

Simon Peyton Jones simonpj at microsoft.com
Wed Feb 21 11:54:17 EST 2007


Wed Feb 21 08:30:47 PST 2007  simonpj at microsoft.com
  * 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



More information about the Cvs-ghc mailing list