[commit: ghc] master: Add support for ImplicitParams and RecursiveDo in TH (9c6b749)

git at git.haskell.org git at git.haskell.org
Fri Sep 14 11:30:15 UTC 2018


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

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/9c6b7493db24977595b17046e15baf76638b5317/ghc

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

commit 9c6b7493db24977595b17046e15baf76638b5317
Author: Michael Sloan <mgsloan at gmail.com>
Date:   Fri Sep 14 12:17:13 2018 +0200

    Add support for ImplicitParams and RecursiveDo in TH
    
    Summary:
    This adds TH support for the ImplicitParams and RecursiveDo extensions.
    
    I'm submitting this as one review because I cannot cleanly make
    the two commits independent.
    
    Initially, my goal was just to add ImplicitParams support, and
    I found that reasonably straightforward, so figured I might
    as well use my newfound knowledge to address some other TH omissions.
    
    Test Plan: Validate
    
    Reviewers: goldfire, austin, bgamari, RyanGlScott
    
    Reviewed By: RyanGlScott
    
    Subscribers: carter, RyanGlScott, thomie
    
    GHC Trac Issues: #1262
    
    Differential Revision: https://phabricator.haskell.org/D1979


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

9c6b7493db24977595b17046e15baf76638b5317
 compiler/deSugar/DsMeta.hs                         |  63 ++++-
 compiler/hsSyn/Convert.hs                          |  49 +++-
 compiler/prelude/THNames.hs                        | 297 +++++++++++----------
 compiler/typecheck/TcSplice.hs                     |   9 +-
 docs/users_guide/8.8.1-notes.rst                   |   2 +
 .../template-haskell/Language/Haskell/TH/Lib.hs    |  13 +-
 .../Language/Haskell/TH/Lib/Internal.hs            |  23 ++
 .../template-haskell/Language/Haskell/TH/Ppr.hs    |  11 +
 .../template-haskell/Language/Haskell/TH/Syntax.hs |  20 +-
 libraries/template-haskell/changelog.md            |   5 +
 testsuite/tests/th/TH_implicitParams.hs            |  20 ++
 testsuite/tests/th/TH_implicitParams.stdout        |   8 +
 testsuite/tests/th/TH_implicitParamsErr1.hs        |   5 +
 testsuite/tests/th/TH_implicitParamsErr1.stderr    |   4 +
 testsuite/tests/th/TH_implicitParamsErr2.hs        |   8 +
 testsuite/tests/th/TH_implicitParamsErr2.stderr    |  10 +
 testsuite/tests/th/TH_implicitParamsErr3.hs        |   6 +
 testsuite/tests/th/TH_implicitParamsErr3.stderr    |  10 +
 testsuite/tests/th/TH_recursiveDo.hs               |  18 ++
 testsuite/tests/th/TH_recursiveDo.stdout           |   7 +
 testsuite/tests/th/TH_recursiveDoImport.hs         |  23 ++
 testsuite/tests/th/all.T                           |   5 +
 22 files changed, 444 insertions(+), 172 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 9c6b7493db24977595b17046e15baf76638b5317


More information about the ghc-commits mailing list