Skip to content
  • Simon Marlow's avatar
    [project @ 2002-12-18 16:29:25 by simonmar] · 854ab9a4
    Simon Marlow authored
    "Auto" packages.
    
    The big change here is that it is no longer necessary to explicitly
    say '-package X' on the command line if X is a package containing
    hierarchical Haskell modules.  All packages marked "auto" contribute
    to the import path, so their modules are always available.  At link
    time, the compiler knows which packages are actually used by the
    program, and it links in only those libraries needed.
    
    There's one exception: one-shot linking.  If you link a program using
    
        ghc -o prog A.o B.o ...
    
    then you need to explicitly add -package flags for each package
    required (except base & haskell98) because the compiler has no
    information about the package dependencies in this case.
    
    Package configs have a new field: auto, which is either True or False.
    Non-auto packages must be mentioned on the command-line as usual.
    Non-auto packages are still required for:
    
      - non-hierarchical libraries (to avoid polluting the module namespace)
    
      - packages with no Haskell content
    
      - if you want more than one version of a package, or packages
        providing overlapping functionality where the user must decide
        which one to use.
    
    Doc changes to follow...
    854ab9a4