Frontend plugins.
authorEdward Z. Yang <ezyang@cs.stanford.edu>
Fri, 11 Dec 2015 04:41:53 +0000 (20:41 -0800)
committerEdward Z. Yang <ezyang@cs.stanford.edu>
Sat, 12 Dec 2015 08:38:47 +0000 (00:38 -0800)
commita3c2a26b3af034f09c960b2dad38f73be7e3a655
tree74efe130fc04633aebfe6f022689089fd2a8318d
parent779dfea1d9cc713d9b1e26bb559e8da309b2aeec
Frontend plugins.

Summary:
Frontend plugins enable users to write plugins to replace
GHC major modes.  E.g. instead of saying

    ghc --make A B C

a user can now say

    ghc --frontend GHC.Frontend.Shake A B C

which might provide an alternative implementation of a multi-module
build.  For more details, see the manual entry.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Test Plan: validate

Reviewers: simonmar, bgamari, austin, simonpj

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D1598

GHC Trac Issues: #11194
12 files changed:
compiler/main/DynFlags.hs
compiler/main/DynamicLoading.hs
compiler/main/Plugins.hs
compiler/prelude/PrelNames.hs
docs/users_guide/extending_ghc.rst
ghc/Main.hs
testsuite/.gitignore
testsuite/tests/plugins/FrontendPlugin.hs [new file with mode: 0644]
testsuite/tests/plugins/Makefile
testsuite/tests/plugins/all.T
testsuite/tests/plugins/frontend01.hs [new file with mode: 0644]
testsuite/tests/plugins/frontend01.stdout [new file with mode: 0644]