[project @ 2004-12-24 16:14:36 by simonpj]
authorsimonpj <unknown>
Fri, 24 Dec 2004 16:15:15 +0000 (16:15 +0000)
committersimonpj <unknown>
Fri, 24 Dec 2004 16:15:15 +0000 (16:15 +0000)
commit339d5220bcb7e8ca344ca5ec6e862d2373267be8
tree1c9f305bdec60b61f9a266d077898de6b7c2cb35
parent0498d35528e7666b9a77a79a78d2e1e782ff0c0b
[project @ 2004-12-24 16:14:36 by simonpj]
---------------------------
          Refactor the simplifier
   ---------------------------

Driven by a GADT bug, I have refactored the simpifier, and the way GHC
treats substitutions.  I hope I have gotten it right.  Be cautious about updating.

* coreSyn/Subst.lhs has gone

* coreSyn/CoreSubst replaces it, except that it's quite a bit simpler

* simplCore/SimplEnv is added, and contains the simplifier-specific substitution
  stuff

Previously Subst was trying to be all things to all men, and that was making
it Too Complicated.

There may be a little more code now, but it's much easier to understand.
12 files changed:
ghc/compiler/coreSyn/CoreSubst.lhs [new file with mode: 0644]
ghc/compiler/coreSyn/Subst.lhs [deleted file]
ghc/compiler/deSugar/Desugar.lhs
ghc/compiler/simplCore/SetLevels.lhs
ghc/compiler/simplCore/SimplCore.lhs
ghc/compiler/simplCore/SimplEnv.lhs [new file with mode: 0644]
ghc/compiler/simplCore/SimplMonad.lhs
ghc/compiler/simplCore/SimplUtils.lhs
ghc/compiler/simplCore/Simplify.lhs
ghc/compiler/specialise/Rules.lhs
ghc/compiler/specialise/Specialise.lhs
ghc/compiler/types/Type.lhs