[commit: ghc] master: Add proper GADTs support to Template Haskell (eeecb86)

git at git.haskell.org git at git.haskell.org
Mon Dec 21 19:47:02 UTC 2015


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

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

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

commit eeecb8647585ad9eea0554b2f97a3645d2c59f88
Author: Jan Stolarek <jan.stolarek at p.lodz.pl>
Date:   Wed Nov 11 10:49:22 2015 +0100

    Add proper GADTs support to Template Haskell
    
    Until now GADTs were supported in Template Haskell by encoding them using
    normal data types.  This patch adds proper support for representing GADTs
    in TH.
    
    Test Plan: T10828
    
    Reviewers: goldfire, austin, bgamari
    
    Subscribers: thomie, mpickering
    
    Differential Revision: https://phabricator.haskell.org/D1465
    
    GHC Trac Issues: #10828


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

eeecb8647585ad9eea0554b2f97a3645d2c59f88
 compiler/deSugar/DsMeta.hs                         | 346 +++++++++------------
 compiler/hsSyn/Convert.hs                          | 101 ++++--
 compiler/hsSyn/HsDecls.hs                          |   5 +-
 compiler/hsSyn/HsPat.hs                            |  21 +-
 compiler/hsSyn/HsTypes.hs                          |  55 +++-
 compiler/parser/RdrHsSyn.hs                        |   4 +-
 compiler/prelude/THNames.hs                        |  23 +-
 compiler/rename/RnNames.hs                         |  10 +-
 compiler/rename/RnTypes.hs                         |   5 +-
 compiler/typecheck/TcSplice.hs                     | 120 ++++---
 compiler/typecheck/TcTyClsDecls.hs                 |  32 +-
 docs/users_guide/7.12.1-notes.rst                  |   5 +
 libraries/template-haskell/Language/Haskell/TH.hs  |   4 +-
 .../template-haskell/Language/Haskell/TH/Lib.hs    |  33 +-
 .../template-haskell/Language/Haskell/TH/Ppr.hs    | 131 ++++++--
 .../template-haskell/Language/Haskell/TH/PprLib.hs |  11 +-
 .../template-haskell/Language/Haskell/TH/Syntax.hs |  48 ++-
 .../tests/overloadedrecflds/should_fail/T11103.hs  |   2 +-
 .../should_run/overloadedrecfldsrun04.hs           |   5 +-
 testsuite/tests/rts/T7919A.hs                      |   1 +
 .../tests/safeHaskell/safeLanguage/SafeLang11_B.hs |   2 +-
 .../tests/safeHaskell/safeLanguage/SafeLang12_B.hs |   2 +-
 testsuite/tests/th/T10819_Lib.hs                   |   3 +-
 testsuite/tests/th/T10828.hs                       |  61 ++++
 testsuite/tests/th/T10828.stderr                   | 100 ++++++
 testsuite/tests/th/T10828a.hs                      |  17 +
 testsuite/tests/th/T10828a.stderr                  |   4 +
 testsuite/tests/th/T10828b.hs                      |  25 ++
 testsuite/tests/th/T10828b.stderr                  |   7 +
 testsuite/tests/th/T4188.stderr                    |  13 +-
 testsuite/tests/th/T5217.hs                        |   2 -
 testsuite/tests/th/T5217.stderr                    |   9 +-
 testsuite/tests/th/T5290.hs                        |   2 +-
 testsuite/tests/th/T5290.stderr                    |   6 +-
 testsuite/tests/th/T5665a.hs                       |   3 +-
 testsuite/tests/th/T5984_Lib.hs                    |   5 +-
 testsuite/tests/th/T7241.hs                        |   2 +-
 testsuite/tests/th/T7532a.hs                       |   2 +-
 testsuite/tests/th/T8499.hs                        |   2 +-
 testsuite/tests/th/T8624.hs                        |   3 +-
 testsuite/tests/th/T8624.stdout                    |   2 +-
 testsuite/tests/th/TH_RichKinds2.stderr            |   7 +-
 testsuite/tests/th/TH_Roles1.hs                    |   2 +-
 testsuite/tests/th/TH_Roles2.hs                    |   3 +-
 testsuite/tests/th/TH_dataD1.hs                    |   3 +-
 testsuite/tests/th/TH_genExLib.hs                  |   2 +-
 testsuite/tests/th/TH_spliceDecl1.hs               |   2 +-
 testsuite/tests/th/TH_spliceDecl3_Lib.hs           |   5 +-
 testsuite/tests/th/all.T                           |   7 +
 49 files changed, 812 insertions(+), 453 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 eeecb8647585ad9eea0554b2f97a3645d2c59f88


More information about the ghc-commits mailing list