simonpj 2004/12/20 09:17:11 PST
Modified files:
ghc/compiler/basicTypes VarEnv.lhs
ghc/compiler/coreSyn CoreLint.lhs CoreUtils.lhs Subst.lhs
ghc/compiler/deSugar DsForeign.lhs
ghc/compiler/prelude PrelRules.lhs
ghc/compiler/simplCore Simplify.lhs
ghc/compiler/specialise Rules.lhs SpecConstr.lhs
ghc/compiler/stranal DmdAnal.lhs
ghc/compiler/typecheck TcBinds.lhs TcSimplify.lhs TcType.lhs
ghc/compiler/types Type.lhs Unify.lhs
ghc/compiler/utils Maybes.lhs Util.lhs
Log:
--------------------------------
Deal properly with dual-renaming
--------------------------------
When comparing types and terms, and during matching, we are faced
with
\x.e1 ~ \y.e2
There are many pitfalls here, and GHC has never done the job properly.
Now, at last it does, using a new abstraction VarEnv.RnEnv2. See
comments there for how it works.
There are lots of consequential changes to use the new stuff, especially
in
types/Type (type comparison),
types/Unify (matching on types)
coreSyn/CoreUtils (equality on expressions),
specialise/Rules (matching).
I'm not 100% certain of that I've covered all the bases, so let me
know if something unexpected happens after you update. Maybe wait until
a nightly build has worked ok first!
Revision Changes Path
1.16 +120 -6 fptools/ghc/compiler/basicTypes/VarEnv.lhs
1.82 +2 -2 fptools/ghc/compiler/coreSyn/CoreLint.lhs
1.130 +48 -54 fptools/ghc/compiler/coreSyn/CoreUtils.lhs
1.45 +3 -2 fptools/ghc/compiler/coreSyn/Subst.lhs
1.85 +3 -3 fptools/ghc/compiler/deSugar/DsForeign.lhs
1.40 +2 -2 fptools/ghc/compiler/prelude/PrelRules.lhs
1.153 +2 -2 fptools/ghc/compiler/simplCore/Simplify.lhs
1.43 +176 -257 fptools/ghc/compiler/specialise/Rules.lhs
1.22 +2 -2 fptools/ghc/compiler/specialise/SpecConstr.lhs
1.51 +2 -2 fptools/ghc/compiler/stranal/DmdAnal.lhs
1.130 +4 -6 fptools/ghc/compiler/typecheck/TcBinds.lhs
1.141 +1 -1 fptools/ghc/compiler/typecheck/TcSimplify.lhs
1.113 +6 -92 fptools/ghc/compiler/typecheck/TcType.lhs
1.127 +120 -29 fptools/ghc/compiler/types/Type.lhs
1.16 +204 -117 fptools/ghc/compiler/types/Unify.lhs
1.25 +10 -19 fptools/ghc/compiler/utils/Maybes.lhs
1.70 +12 -6 fptools/ghc/compiler/utils/Util.lhs
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc