Changes between Version 28 and Version 29 of Commentary/Compiler


Ignore:
Timestamp:
May 9, 2011 9:09:40 PM (4 years ago)
Author:
dterei
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler

    v28 v29  
    4949The part called [wiki:Commentary/Compiler/HscMain HscMain] deals with compiling a single module.  On top of this is built the '''compilation manager''' (in blue) that manages the compilation of multiple modules.  It exports an interface called the '''GHC API'''.  On top of this API are four small front ends: 
    5050 
    51  * GHCi, the interactive environment, is implemented in [[GhcFile(compiler/main/InteractiveEval.hs)]] and sits squarely on top of the GHC 
    52    API. 
     51 * GHCi, the interactive environment, is implemented in [[GhcFile(ghc/InteractiveUI.hs)]] and [[GhcFile(compiler/main/InteractiveEval.hs)]]. It sits squarely on top of the GHC API. 
    5352  
    5453 * {{{--make}}} is almost a trivial client of the GHC API, and is implemented in [[GhcFile(compiler/main/GhcMake.hs)]].  
    5554 
    56  * {{{-M}}}, the Makefile dependency generator, is also a client of the GHC API and is implemented in 
    57    [[GhcFile(compiler/main/DriverMkDepend.hs)]].  
     55 * {{{-M}}}, the Makefile dependency generator, is also a client of the GHC API and is implemented in [[GhcFile(compiler/main/DriverMkDepend.hs)]].  
    5856 
    5957 * The "one-shot" mode, where GHC compiles each file on the command line separately (eg. {{{ghc -c Foo.hs}}}). This mode bypasses the GHC API, and is implemented 
     
    6159   GHC consisted of prior to version 5.00 when GHCi and `--make` were introduced. 
    6260 
    63 GHC is packaged as a single binary in which all of these front-ends are present, selected by the command-line flags indicated above.  There is a single command-line interface implemented in [[GhcFile(compiler/main/Main.hs)]]. 
     61GHC is packaged as a single binary in which all of these front-ends are present, selected by the command-line flags indicated above.  There is a single command-line interface implemented in [[GhcFile(ghc/Main.hs)]]. 
    6462 
    6563In addition, GHC is compiled, without its front ends, as a ''library'' which can be imported by any Haskell program; see [wiki:Commentary/Compiler/API the GHC API].