[commit: ghc] master: Restructure compilation pipeline to allow hooks (6f79989)

git at git.haskell.org git at git.haskell.org
Mon Sep 23 03:03:24 CEST 2013


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/6f799899aa7cd9c59c9ebf9c9709f9423d93d307/ghc

>---------------------------------------------------------------

commit 6f799899aa7cd9c59c9ebf9c9709f9423d93d307
Author: Austin Seipp <austin at well-typed.com>
Date:   Sun Sep 22 18:47:35 2013 -0500

    Restructure compilation pipeline to allow hooks
    
    This commit exposes GHC's internal compiler pipeline through a `Hooks`
    module in the GHC API. It currently allows you to hook:
    
     * Foreign import/exports declarations
     * The frontend up to type checking
     * The one shot compilation mode
     * Core compilation, and the module iface
     * Linking and the phases in DriverPhases.hs
     * Quasiquotation
    
    Authored-by: Luite Stegeman <stegeman at gmail.com>
    Authored-by: Edsko de Vries <edsko at well-typed.com>
    Signed-off-by: Austin Seipp <austin at well-typed.com>


>---------------------------------------------------------------

6f799899aa7cd9c59c9ebf9c9709f9423d93d307
 compiler/basicTypes/BasicTypes.lhs    |   11 ++-
 compiler/deSugar/DsForeign.lhs        |   17 +++-
 compiler/deSugar/DsMonad.lhs-boot     |   33 +++++++
 compiler/ghc.cabal.in                 |    2 +
 compiler/ghc.mk                       |    2 +-
 compiler/ghci/ByteCodeLink.lhs        |    3 +-
 compiler/ghci/ByteCodeLink.lhs-boot   |    3 -
 compiler/ghci/Linker.lhs              |    2 +-
 compiler/ghci/RtClosureInspect.hs     |    2 +-
 compiler/iface/LoadIface.lhs          |    5 +-
 compiler/main/DriverPipeline.hs       |  154 +++++++++------------------------
 compiler/main/DynFlags.hs             |    5 ++
 compiler/main/DynamicLoading.hs       |   23 +++--
 compiler/main/GHC.hs                  |    1 -
 compiler/main/Hooks.lhs               |   80 +++++++++++++++++
 compiler/main/Hooks.lhs-boot          |    9 ++
 compiler/main/HscMain.hs              |   76 +++++++---------
 compiler/main/HscTypes.lhs            |   56 +++++++++++-
 compiler/main/InteractiveEval.hs      |    1 +
 compiler/main/InteractiveEvalTypes.hs |    2 +-
 compiler/main/PipelineMonad.hs        |  109 +++++++++++++++++++++++
 compiler/typecheck/TcForeign.lhs      |   28 +++++-
 compiler/typecheck/TcSplice.lhs       |    7 +-
 docs/users_guide/7.8.1-notes.xml      |   15 ++++
 24 files changed, 457 insertions(+), 189 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 6f799899aa7cd9c59c9ebf9c9709f9423d93d307



More information about the ghc-commits mailing list