[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