Changes between Version 5 and Version 6 of ModuleDependencies


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

--

Legend:

Unmodified
Added
Removed
Modified
  • ModuleDependencies

    v5 v6  
    1 The Marvellous Module Structure of GHC (possibly outdated, please fix anything that is wrong)
     1=The Marvellous Module Structure of GHC= (possibly outdated, please fix anything that is wrong)
    22
    33GHC is built out of about 245 Haskell modules. It can be quite tricky to figure out what the module dependency graph looks like. It can be important, too, because loops in the module dependency graph need to be broken carefully using .hi-boot interface files.
     
    1010 * Loops are documented by a dependency such as "loop Type.Type". This means tha the module imports Type.Type, but module Type has not yet been compiled, so the import comes from Type.hi-boot.
    1111
    12 Compilation order is as follows:
     12==Compilation order is as follows:==
    1313
    1414 * First comes a layer of modules that have few interdependencies, and which implement very basic data types:
     
    5151   * CoreTidy (HscTypes.PersistentCompilerState)
    5252
    53 _HsSyn stuff_
     53==HsSyn stuff==
    5454 * HsPat.hs-boot
    5555 * HsExpr.hs-boot (loop HsPat.LPat)
     
    5959 * HsExpr (HsDecls, HsPat)
    6060
    61 _Library stuff: base package_
     61==Library stuff: base package==
    6262 * GHC.Base
    6363 * Data.Tuple (GHC.Base), GHC.Ptr (GHC.Base)