summaryrefslogtreecommitdiff
path: root/ghc/compiler/DEPEND-NOTES
diff options
context:
space:
mode:
authorsimonpj <unknown>2001-03-08 12:07:43 +0000
committersimonpj <unknown>2001-03-08 12:07:43 +0000
commit51a571c0f5b0201ea53bec60fcaafb78c01c017e (patch)
tree863679c641b8bc44aa08c145389a3d85520763a9 /ghc/compiler/DEPEND-NOTES
parentd78151f68bdaf05cb1e8ab77e32529327c0dae36 (diff)
downloadhaskell-51a571c0f5b0201ea53bec60fcaafb78c01c017e.tar.gz
[project @ 2001-03-08 12:07:38 by simonpj]
-------------------- 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.
Diffstat (limited to 'ghc/compiler/DEPEND-NOTES')
-rw-r--r--ghc/compiler/DEPEND-NOTES8
1 files changed, 4 insertions, 4 deletions
diff --git a/ghc/compiler/DEPEND-NOTES b/ghc/compiler/DEPEND-NOTES
index f92764efa5..fb966c66b7 100644
--- a/ghc/compiler/DEPEND-NOTES
+++ b/ghc/compiler/DEPEND-NOTES
@@ -5,12 +5,12 @@ The Name/Var/Type group is a bit complicated. Here's the deal
Things in brackets are what the module *uses*.
A 'loop' indicates a use from a module compiled later
- Name, PrimRep, FieldLabel (loop Type.Type)
+ Name, PrimRep
then
PrelNames
then
- Var (Name, loop CoreSyn.CoreExpr, loop IdInfo.IdInfo,
- loop Type.GenType, loop Type.Kind)
+ Var (Name, loop IdInfo.IdInfo,
+ loop Type.Type, loop Type.Kind)
then
VarEnv, VarSet, ThinAir
then
@@ -20,7 +20,7 @@ then
then
Type (loop DataCon.DataCon, loop Subst.substTy)
then
- TysPrim (Type), PprEnv (loop DataCon.DataCon, Type)
+ FieldLabel( Type), TysPrim (Type), PprEnv (loop DataCon.DataCon, Type)
then
Unify, PprType (PprEnv)
then