X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FDEPEND-NOTES;h=79288ae30b6e4aa8d5d97ff414be3e8ac6cac491;hb=e4fd736410f1f62c7a176e35a78751112390cd63;hp=859d1a2142a836c5b02798627880a93fe146d85f;hpb=111cee3f1ad93816cb828e38b38521d85c3bcebb;p=ghc-hetmet.git diff --git a/ghc/compiler/DEPEND-NOTES b/ghc/compiler/DEPEND-NOTES index 859d1a2..79288ae 100644 --- a/ghc/compiler/DEPEND-NOTES +++ b/ghc/compiler/DEPEND-NOTES @@ -5,47 +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 - 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 + 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 - TysWiredIn (DataCon.mkDataCon, loop MkId.mkDataConId) + PprType( lots of TcType stuff ) 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)