X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FDEPEND-NOTES;h=79288ae30b6e4aa8d5d97ff414be3e8ac6cac491;hb=9d708897cab4d6a2627363143c92462b16e0fe10;hp=34931bd9c9cf9e2494e9ec7207246d7dcd818b45;hpb=5ca77490a603e0175bb717343884533ad8de017d;p=ghc-hetmet.git diff --git a/ghc/compiler/DEPEND-NOTES b/ghc/compiler/DEPEND-NOTES index 34931bd..79288ae 100644 --- a/ghc/compiler/DEPEND-NOTES +++ b/ghc/compiler/DEPEND-NOTES @@ -5,40 +5,53 @@ 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 Const.Con, 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 - DataCon, TysPrim, Unify, PprType + FieldLabel( Type), TysPrim (Type), PprEnv (loop DataCon.DataCon, Type) +then + Unify, PprType (PprEnv) +then + Literal (TysPrim, PprType), DataCon (loop PprType) +then + TysWiredIn (DataCon.mkDataCon, loop MkId.mkDataConId, loop Generics.mkGenInfo) then - InstEnv (Unify) + TcType( lots of TywWiredIn stuff) then - IdInfo (loop CoreRules.CoreRules) - TysWiredIn (DataCon.mkDataCon, loop MkId.mkDataConId) + PprType( lots of TcType stuff ) then - PrimOp (PprType, TysWiredIn, IdInfo.StrictnessInfo) + PrimOp (PprType, TysWiredIn) then - Const (PrimOp.PrimOp, TysWiredIn.stringTy) + CoreSyn then - Id (Const.Con(..)), CoreSyn + IdInfo (CoreSyn.Unfolding, CoreSyn.CoreRules) then - CoreUtils (loop PprCore.pprCoreExpr), CoreFVs + Id (lots from IdInfo) +then + CoreFVs, PprCore +then + 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)