Skip to content
  • Simon Peyton Jones's avatar
    [project @ 2000-04-13 11:56:35 by simonpj] · 9579283c
    Simon Peyton Jones authored
    Add support for 'packages'.
    
    * A package is a group of modules.
    
    * A package has a name (e.g. std)
    
    * A package is built into a single library (Unix; e.g. libHSstd.a)
                           or a single DLL     (Windows; e.g. HSstd.dll)
    
    * The '-package-name foo' flag tells GHC that the module being compiled
      is destined for package foo.
    
    * The '-package foo' flag tells GHC to make available modules
      from package 'foo'.  It replaces '-syslib foo' which is now deprecated.
    
    * Cross-package references cost an extra indirection in Windows,
      but not Unix
    
    * GHC does not maintain detailed cross-package dependency information.
      It does remember which modules in other packages the current module
      depends on, but not which things within those imported things.
    
    
    All of this tidies up the Prelude enormously.  The Prelude and
    Standard Libraries are built into a singl package called 'std'.  (This
    is a change; the library is now called libHSstd.a instead of libHS.a)
    9579283c