[project @ 2001-08-04 06:19:54 by ken]
[ghc-hetmet.git] / ghc / compiler / DEPEND-NOTES
index 3e67308..fb966c6 100644 (file)
@@ -5,48 +5,49 @@ 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
-       Var (loop CoreSyn.CoreExpr, loop IdInfo.IdInfo, 
-            loop Type.GenType, loop Type.Kind)
+       PrelNames
+then
+       Var (Name, loop IdInfo.IdInfo, 
+            loop Type.Type, loop Type.Kind)
 then
        VarEnv, VarSet, ThinAir
 then
-       Class (loop TyCon.TyCon, loop Type.Type, loop InstEnv.InstEnv)
+       Class (loop TyCon.TyCon, loop Type.Type)
 then
-       TyCon (loop Type.Type, loop Type.Kind, loop DataCon.DataCon)
+       TyCon (loop Type.Type, loop Type.Kind, loop DataCon.DataCon, loop Generics.GenInfo)
 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
-       Literal (TysPrim, PprType), DataCon
-then
-       InstEnv (Unify)
+       Literal (TysPrim, PprType), DataCon (PprType)
 then
-       TysWiredIn (DataCon.mkDataCon, loop MkId.mkDataConId)
+       TysWiredIn (DataCon.mkDataCon, loop MkId.mkDataConId, loop Generics.mkGenInfo)
 then
        PrimOp (PprType, TysWiredIn)
 then
        CoreSyn
 then
-       IdInfo (loop CoreSyn.CoreRules etc, loop CoreUnfold.Unfolding) 
+       IdInfo (CoreSyn.Unfolding, CoreSyn.CoreRules)
 then
        Id (lots from IdInfo)
 then
        CoreFVs, PprCore
 then
        CoreUtils (PprCore.pprCoreExpr, CoreFVs.exprFreeVars,
-                  loop CoreUnfold.isEvaldUnfolding CoreUnfold.maybeUnfoldingTemplate)
+                  CoreSyn.isEvaldUnfolding CoreSyn.maybeUnfoldingTemplate)
 then   
        OccurAnal (CoreUtils.exprIsTrivial)
 then
        CoreUnfold (OccurAnal.occurAnalyseGlobalExpr)
 then
-       Rules (Unfolding), Subst (Unfolding, CoreFVs), CoreTidy (noUnfolding)
+       Rules (Unfolding), Subst (Unfolding, CoreFVs), CoreTidy (noUnfolding), Generics (mkTopUnfolding)
 then
        MkId (CoreUnfold.mkUnfolding, Subst)
-
+then
+       PrelInfo (MkId)