Changes between Version 6 and Version 7 of ModuleDependencies


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

--

Legend:

Unmodified
Added
Removed
Modified
  • ModuleDependencies

    v6 v7  
    1 =The Marvellous Module Structure of GHC= (possibly outdated, please fix anything that is wrong) 
     1= The Marvellous Module Structure of GHC = 
     2(possibly outdated, please fix anything that is wrong) 
    23 
    34GHC 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. 
     
    1011 * 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.  
    1112 
    12 ==Compilation order is as follows:== 
     13== Compilation order is as follows: == 
    1314 
    1415 * First comes a layer of modules that have few interdependencies, and which implement very basic data types: 
     
    5152   * CoreTidy (HscTypes.PersistentCompilerState)  
    5253 
    53 ==HsSyn stuff== 
     54== HsSyn stuff == 
    5455 * HsPat.hs-boot 
    5556 * HsExpr.hs-boot (loop HsPat.LPat) 
     
    5960 * HsExpr (HsDecls, HsPat)  
    6061 
    61 ==Library stuff: base package== 
     62== Library stuff: base package == 
    6263 * GHC.Base 
    6364 * Data.Tuple (GHC.Base), GHC.Ptr (GHC.Base)