Changes between Version 4 and Version 5 of ModuleDependencies


Ignore:
Timestamp:
May 17, 2006 3:06:17 PM (9 years ago)
Author:
guest
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ModuleDependencies

    v4 v5  
    2323
    2424 * Now comes the main subtle layer, involving types, classes, type constructors identifiers, expressions, rules, and their operations.
    25    * Name
    26      PrimRep
     25   * Name, PrimRep
     26   * PrelNames
     27   * Var (Name, loop IdInfo.IdInfo, loop Type.Type, loop Type.Kind)
     28   * VarEnv, VarSet, ThinAir
     29   * Class (loop TyCon.TyCon, loop Type.Type)
     30   * TyCon (loop Type.Type, loop Type.Kind, loop DataCon.DataCon, loop Generics.GenInfo)
     31   * TypeRep (loop DataCon.DataCon, loop Subst.substTyWith)
     32   * Type (loop PprType.pprType, loop Subst.substTyWith)
     33   * FieldLabel(Type), TysPrim(Type)
     34   * Literal (TysPrim, PprType), DataCon (loop PprType, loop Subst.substTyWith, FieldLabel.FieldLabel)
     35   * TysWiredIn (loop MkId.mkDataConIds)
     36   * TcType( lots of TysWiredIn stuff)
     37   * PprType( lots of TcType stuff )
     38   * PrimOp (PprType, TysWiredIn)
     39   * CoreSyn [does not import Id]
     40   * IdInfo (CoreSyn.Unfolding, CoreSyn.CoreRules)
     41   * Id (lots from IdInfo)
     42   * CoreFVs, PprCore
     43   * CoreUtils (PprCore.pprCoreExpr, CoreFVs.exprFreeVars, CoreSyn.isEvaldUnfolding CoreSyn.maybeUnfoldingTemplate)
     44   * CoreLint( CoreUtils ), OccurAnal (CoreUtils.exprIsTrivial), CoreTidy (CoreUtils.exprArity )
     45   * CoreUnfold (OccurAnal.occurAnalyseGlobalExpr)
     46   * Subst (CoreUnfold.Unfolding, CoreFVs), Generics (CoreUnfold.mkTopUnfolding), Rules (CoreUnfold.Unfolding, PprCore.pprTidyIdRules)
     47   * MkId (CoreUnfold.mkUnfolding, Subst, Rules.addRule)
     48   * PrelInfo (MkId), HscTypes( Rules.RuleBase )
    2749
    28    * PrelNames
    29      Var (Name, loop IdInfo.IdInfo, loop Type.Type, loop Type.Kind)
     50 * That is the end of the infrastructure. Now we get the main layer of mdoules that perform useful work.
     51   * CoreTidy (HscTypes.PersistentCompilerState)
    3052
    31           o VarEnv, VarSet, ThinAir
     53_HsSyn stuff_
     54 * HsPat.hs-boot
     55 * HsExpr.hs-boot (loop HsPat.LPat)
     56 * HsTypes (loop HsExpr.HsSplice)
     57 * HsBinds (HsTypes.LHsType, loop HsPat.LPat, HsExpr.pprFunBind and others) HsLit (HsTypes.SyntaxName)
     58 * HsPat (HsBinds, HsLit) HsDecls (HsBinds)
     59 * HsExpr (HsDecls, HsPat)
    3260
    33           o Class (loop TyCon.TyCon, loop Type.Type)
    34 
    35           o TyCon (loop Type.Type, loop Type.Kind, loop DataCon.DataCon, loop Generics.GenInfo)
    36 
    37           o TypeRep (loop DataCon.DataCon, loop Subst.substTyWith)
    38 
    39           o Type (loop PprType.pprType, loop Subst.substTyWith)
    40 
    41           o FieldLabel(Type)
    42             TysPrim(Type)
    43 
    44           o Literal (TysPrim, PprType)
    45             DataCon (loop PprType, loop Subst.substTyWith, FieldLabel.FieldLabel)
    46 
    47           o TysWiredIn (loop MkId.mkDataConIds)
    48 
    49           o TcType( lots of TysWiredIn stuff)
    50 
    51           o PprType( lots of TcType stuff )
    52 
    53           o PrimOp (PprType, TysWiredIn)
    54 
    55           o CoreSyn [does not import Id]
    56 
    57           o IdInfo (CoreSyn.Unfolding, CoreSyn.CoreRules)
    58 
    59           o Id (lots from IdInfo)
    60 
    61           o CoreFVs
    62             PprCore
    63 
    64           o CoreUtils (PprCore.pprCoreExpr, CoreFVs.exprFreeVars, CoreSyn.isEvaldUnfolding CoreSyn.maybeUnfoldingTemplate)
    65 
    66           o CoreLint( CoreUtils )
    67             OccurAnal (CoreUtils.exprIsTrivial)
    68             CoreTidy (CoreUtils.exprArity )
    69 
    70           o CoreUnfold (OccurAnal.occurAnalyseGlobalExpr)
    71 
    72           o Subst (CoreUnfold.Unfolding, CoreFVs)
    73             Generics (CoreUnfold.mkTopUnfolding)
    74             Rules (CoreUnfold.Unfolding, PprCore.pprTidyIdRules)
    75 
    76           o MkId (CoreUnfold.mkUnfolding, Subst, Rules.addRule)
    77 
    78           o PrelInfo (MkId)
    79             HscTypes( Rules.RuleBase )
    80 
    81     * That is the end of the infrastructure. Now we get the main layer of mdoules that perform useful work.
    82 
    83           o CoreTidy (HscTypes.PersistentCompilerState)
    84 
    85 HsSyn stuff
    86 
    87     * HsPat.hs-boot
    88     * HsExpr.hs-boot (loop HsPat.LPat)
    89     * HsTypes (loop HsExpr.HsSplice)
    90     * HsBinds (HsTypes.LHsType, loop HsPat.LPat, HsExpr.pprFunBind and others) HsLit (HsTypes.SyntaxName)
    91     * HsPat (HsBinds, HsLit) HsDecls (HsBinds)
    92     * HsExpr (HsDecls, HsPat)
    93 
    94 Library stuff: base package
    95 
    96     * GHC.Base
    97     * Data.Tuple (GHC.Base), GHC.Ptr (GHC.Base)
    98     * GHC.Enum (Data.Tuple)
    99     * GHC.Show (GHC.Enum)
    100     * GHC.Num (GHC.Show)
    101     * GHC.ST (GHC.Num), GHC.Real (GHC.Num)
    102     * GHC.Arr (GHC.ST) GHC.STRef (GHC.ST)
    103     * GHC.IOBase (GHC.Arr)
    104     * Data.Bits (GHC.Real)
    105     * Data.HashTable (Data.Bits, Control.Monad)
    106     * Data.Typeable (GHC.IOBase, Data.HashTable)
    107     * GHC.Weak (Data.Typeable, GHC.IOBase)
     61_Library stuff: base package_
     62 * GHC.Base
     63 * Data.Tuple (GHC.Base), GHC.Ptr (GHC.Base)
     64 * GHC.Enum (Data.Tuple)
     65 * GHC.Show (GHC.Enum)
     66 * GHC.Num (GHC.Show)
     67 * GHC.ST (GHC.Num), GHC.Real (GHC.Num)
     68 * GHC.Arr (GHC.ST) GHC.STRef (GHC.ST)
     69 * GHC.IOBase (GHC.Arr)
     70 * Data.Bits (GHC.Real)
     71 * Data.HashTable (Data.Bits, Control.Monad)
     72 * Data.Typeable (GHC.IOBase, Data.HashTable)
     73 * GHC.Weak (Data.Typeable, GHC.IOBase)