X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FDEPEND-NOTES;h=f2ba2443152167f6a2af534340fe28ab120fe5ad;hb=28a464a75e14cece5db40f2765a29348273ff2d2;hp=3e67308be1fdf799fc16833aa7390e3a144c9749;hpb=a127213c1890584702075d732d7bb9887113e4ff;p=ghc-hetmet.git diff --git a/ghc/compiler/DEPEND-NOTES b/ghc/compiler/DEPEND-NOTES index 3e67308..f2ba244 100644 --- a/ghc/compiler/DEPEND-NOTES +++ b/ghc/compiler/DEPEND-NOTES @@ -1,52 +1,4 @@ - Notes on module dependencies - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -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) -then - Var (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) -then - TyCon (loop Type.Type, loop Type.Kind, loop DataCon.DataCon) -then - Type (loop DataCon.DataCon, loop Subst.substTy) -then - TysPrim (Type), PprEnv (loop DataCon.DataCon, Type) -then - Unify, PprType (PprEnv) -then - Literal (TysPrim, PprType), DataCon -then - InstEnv (Unify) -then - TysWiredIn (DataCon.mkDataCon, loop MkId.mkDataConId) -then - PrimOp (PprType, TysWiredIn) -then - CoreSyn -then - IdInfo (loop CoreSyn.CoreRules etc, loop CoreUnfold.Unfolding) -then - Id (lots from IdInfo) -then - CoreFVs, PprCore -then - CoreUtils (PprCore.pprCoreExpr, CoreFVs.exprFreeVars, - loop CoreUnfold.isEvaldUnfolding CoreUnfold.maybeUnfoldingTemplate) -then - OccurAnal (CoreUtils.exprIsTrivial) -then - CoreUnfold (OccurAnal.occurAnalyseGlobalExpr) -then - Rules (Unfolding), Subst (Unfolding, CoreFVs), CoreTidy (noUnfolding) -then - MkId (CoreUnfold.mkUnfolding, Subst) +Module dependency information is now given in the GHC commentary + ghc/docs/comm/genesis/modules.html