cvs commit: fptools/ghc/compiler DEPEND-NOTES fptools/ghc/compiler/basicTypes
FieldLabel.lhs Id.lhs IdInfo.hi-boot IdInfo.hi-boot-5 IdInfo.lhs
MkId.lhs Name.lhs Var.lhs fptools/ghc/compiler/compMan
CompManager.lhs fptools/ghc/compiler/coreSyn CoreFVs.lhs ...
Simon Peyton Jones
simonpj@glass.cse.ogi.edu
Thu, 8 Mar 2001 04:07:43 -0800
simonpj 2001/03/08 04:07:43 PST
Modified files:
ghc/compiler DEPEND-NOTES
ghc/compiler/basicTypes FieldLabel.lhs Id.lhs IdInfo.hi-boot
IdInfo.hi-boot-5 IdInfo.lhs MkId.lhs
Name.lhs Var.lhs
ghc/compiler/compMan CompManager.lhs
ghc/compiler/coreSyn CoreFVs.lhs CoreLint.lhs CoreSat.lhs
CoreTidy.lhs CoreUnfold.lhs CoreUtils.lhs
PprCore.lhs Subst.lhs
ghc/compiler/deSugar Desugar.lhs DsForeign.lhs
ghc/compiler/ghci ByteCodeGen.lhs
ghc/compiler/main ErrUtils.lhs HscMain.lhs HscTypes.lhs
MkIface.lhs
ghc/compiler/rename Rename.lhs RnEnv.lhs RnHiFiles.lhs
RnIfaces.lhs RnMonad.lhs RnNames.lhs
ghc/compiler/simplCore SATMonad.lhs SimplCore.lhs
SimplUtils.lhs
ghc/compiler/specialise SpecConstr.lhs Specialise.lhs
ghc/compiler/stgSyn CoreToStg.lhs
ghc/compiler/stranal WorkWrap.lhs
ghc/compiler/typecheck Inst.lhs TcBinds.lhs TcClassDcl.lhs
TcEnv.lhs TcForeign.lhs TcHsSyn.lhs
TcIfaceSig.lhs TcModule.lhs
TcMonoType.lhs TcPat.lhs TcRules.lhs
TcTyClsDecls.lhs
ghc/compiler/types Generics.lhs
ghc/compiler/usageSP UsageSPInf.lhs UsageSPUtils.lhs
Log:
--------------------
A major hygiene pass
--------------------
1. The main change here is to
Move what was the "IdFlavour" out of IdInfo,
and into the varDetails field of a Var
It was a mess before, because the flavour was a permanent attribute
of an Id, whereas the rest of the IdInfo was ephemeral. It's
all much tidier now.
Main places to look:
Var.lhs Defn of VarDetails
IdInfo.lhs Defn of GlobalIdDetails
The main remaining infelicity is that SpecPragmaIds are right down
in Var.lhs, which seems unduly built-in for such an ephemeral thing.
But that is no worse than before.
2. Tidy up the HscMain story a little. Move mkModDetails from MkIface
into CoreTidy (where it belongs more nicely)
This was partly forced by (1) above, because I didn't want to make
DictFun Ids into a separate kind of Id (which is how it was before).
Not having them separate means we have to keep a list of them right
through, rather than pull them out of the bindings at the end.
3. Add NameEnv as a separate module (to join NameSet).
4. Remove unnecessary {-# SOURCE #-} imports from FieldLabel.
Revision Changes Path
1.13 +4 -4 fptools/ghc/compiler/DEPEND-NOTES
1.17 +2 -3 fptools/ghc/compiler/basicTypes/FieldLabel.lhs
1.84 +72 -86 fptools/ghc/compiler/basicTypes/Id.lhs
1.5 +3 -1 fptools/ghc/compiler/basicTypes/IdInfo.hi-boot
1.5 +3 -1 fptools/ghc/compiler/basicTypes/IdInfo.hi-boot-5
1.69 +59 -103 fptools/ghc/compiler/basicTypes/IdInfo.lhs
1.55 +33 -74 fptools/ghc/compiler/basicTypes/MkId.lhs
1.90 +1 -57 fptools/ghc/compiler/basicTypes/Name.lhs
1.19 +138 -47 fptools/ghc/compiler/basicTypes/Var.lhs
1.64 +2 -2 fptools/ghc/compiler/compMan/CompManager.lhs
1.12 +1 -26 fptools/ghc/compiler/coreSyn/CoreFVs.lhs
1.60 +2 -2 fptools/ghc/compiler/coreSyn/CoreLint.lhs
1.16 +6 -13 fptools/ghc/compiler/coreSyn/CoreSat.lhs
1.43 +120 -35 fptools/ghc/compiler/coreSyn/CoreTidy.lhs
1.78 +4 -4 fptools/ghc/compiler/coreSyn/CoreUnfold.lhs
1.69 +5 -5 fptools/ghc/compiler/coreSyn/CoreUtils.lhs
1.59 +11 -6 fptools/ghc/compiler/coreSyn/PprCore.lhs
1.22 +7 -8 fptools/ghc/compiler/coreSyn/Subst.lhs
1.43 +1 -1 fptools/ghc/compiler/deSugar/Desugar.lhs
1.47 +3 -5 fptools/ghc/compiler/deSugar/DsForeign.lhs
1.42 +3 -2 fptools/ghc/compiler/ghci/ByteCodeGen.lhs
1.35 +10 -1 fptools/ghc/compiler/main/ErrUtils.lhs
1.106 +26 -40 fptools/ghc/compiler/main/HscMain.lhs
1.70 +20 -1 fptools/ghc/compiler/main/HscTypes.lhs
1.125 +57 -111 fptools/ghc/compiler/main/MkIface.lhs
1.156 +2 -2 fptools/ghc/compiler/rename/Rename.lhs
1.112 +2 -2 fptools/ghc/compiler/rename/RnEnv.lhs
1.38 +1 -1 fptools/ghc/compiler/rename/RnHiFiles.lhs
1.139 +2 -2 fptools/ghc/compiler/rename/RnIfaces.lhs
1.118 +1 -1 fptools/ghc/compiler/rename/RnMonad.lhs
1.118 +5 -6 fptools/ghc/compiler/rename/RnNames.lhs
1.15 +2 -2 fptools/ghc/compiler/simplCore/SATMonad.lhs
1.93 +11 -6 fptools/ghc/compiler/simplCore/SimplCore.lhs
1.61 +2 -2 fptools/ghc/compiler/simplCore/SimplUtils.lhs
1.5 +3 -4 fptools/ghc/compiler/specialise/SpecConstr.lhs
1.74 +2 -5 fptools/ghc/compiler/specialise/Specialise.lhs
1.75 +3 -3 fptools/ghc/compiler/stgSyn/CoreToStg.lhs
1.43 +1 -2 fptools/ghc/compiler/stranal/WorkWrap.lhs
1.74 +3 -3 fptools/ghc/compiler/typecheck/Inst.lhs
1.85 +3 -3 fptools/ghc/compiler/typecheck/TcBinds.lhs
1.94 +2 -2 fptools/ghc/compiler/typecheck/TcClassDcl.lhs
1.91 +4 -5 fptools/ghc/compiler/typecheck/TcEnv.lhs
1.30 +4 -4 fptools/ghc/compiler/typecheck/TcForeign.lhs
1.56 +1 -1 fptools/ghc/compiler/typecheck/TcHsSyn.lhs
1.69 +8 -8 fptools/ghc/compiler/typecheck/TcIfaceSig.lhs
1.111 +43 -66 fptools/ghc/compiler/typecheck/TcModule.lhs
1.74 +2 -2 fptools/ghc/compiler/typecheck/TcMonoType.lhs
1.59 +2 -2 fptools/ghc/compiler/typecheck/TcPat.lhs
1.22 +3 -3 fptools/ghc/compiler/typecheck/TcRules.lhs
1.71 +1 -1 fptools/ghc/compiler/typecheck/TcTyClsDecls.lhs
1.12 +7 -7 fptools/ghc/compiler/types/Generics.lhs
1.19 +0 -1 fptools/ghc/compiler/usageSP/UsageSPInf.lhs
1.15 +0 -1 fptools/ghc/compiler/usageSP/UsageSPUtils.lhs