[project @ 2000-10-11 16:45:53 by sewardj]
[ghc-hetmet.git] / ghc / compiler / DEPEND-NOTES
index 859d1a2..2135879 100644 (file)
@@ -5,16 +5,18 @@ 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
 
+       PrelNames
+then
        Name, PrimRep, FieldLabel (loop Type.Type)
 then
-       Var (loop Const.Con, loop IdInfo.IdInfo, 
+       Var (Name, loop CoreSyn.CoreExpr, loop IdInfo.IdInfo, 
             loop Type.GenType, 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
@@ -24,28 +26,28 @@ then
 then
        Literal (TysPrim, PprType), DataCon
 then
-       InstEnv (Unify)
-then
-       TysWiredIn (DataCon.mkDataCon, loop MkId.mkDataConId)
+       TysWiredIn (DataCon.mkDataCon, loop MkId.mkDataConId, loop Generics.mkGenInfo)
 then
        PrimOp (PprType, TysWiredIn)
 then
-       IdInfo (loop CoreSyn.CoreRules, loop CoreUnfold.Unfolding) 
+       CoreSyn
 then
-       Const (PrimOp.PrimOp, TysWiredIn.stringTy)
+       IdInfo (CoreSyn.Unfolding, CoreSyn.CoreRules)
 then
-       Id (Const.Con(..)), CoreSyn
+       Id (lots from IdInfo)
 then
        CoreFVs, PprCore
 then
-       CoreUtils (PprCore.pprCoreExpr, CoreFVs.exprFreeVars)
+       CoreUtils (PprCore.pprCoreExpr, CoreFVs.exprFreeVars,
+                  CoreSyn.isEvaldUnfolding CoreSyn.maybeUnfoldingTemplate)
 then   
-       OccurAnal (ThinAir.noRepStrs -- an awkward dependency)
+       OccurAnal (CoreUtils.exprIsTrivial)
 then
-       CoreUnfold (loop OccurAnal.globalOccurAnalyse)
+       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)