Add proper GADTs support to Template Haskell
authorJan Stolarek <jan.stolarek@p.lodz.pl>
Wed, 11 Nov 2015 09:49:22 +0000 (10:49 +0100)
committerJan Stolarek <jan.stolarek@p.lodz.pl>
Mon, 21 Dec 2015 19:47:16 +0000 (20:47 +0100)
commiteeecb8647585ad9eea0554b2f97a3645d2c59f88
treed2294dd80400f495deab260e4e810b7dcbefb096
parenta61e717fcff9108337b1d35783ea3afbf591d3c6
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
49 files changed:
compiler/deSugar/DsMeta.hs
compiler/hsSyn/Convert.hs
compiler/hsSyn/HsDecls.hs
compiler/hsSyn/HsPat.hs
compiler/hsSyn/HsTypes.hs
compiler/parser/RdrHsSyn.hs
compiler/prelude/THNames.hs
compiler/rename/RnNames.hs
compiler/rename/RnTypes.hs
compiler/typecheck/TcSplice.hs
compiler/typecheck/TcTyClsDecls.hs
docs/users_guide/7.12.1-notes.rst
libraries/template-haskell/Language/Haskell/TH.hs
libraries/template-haskell/Language/Haskell/TH/Lib.hs
libraries/template-haskell/Language/Haskell/TH/Ppr.hs
libraries/template-haskell/Language/Haskell/TH/PprLib.hs
libraries/template-haskell/Language/Haskell/TH/Syntax.hs
testsuite/tests/overloadedrecflds/should_fail/T11103.hs
testsuite/tests/overloadedrecflds/should_run/overloadedrecfldsrun04.hs
testsuite/tests/rts/T7919A.hs
testsuite/tests/safeHaskell/safeLanguage/SafeLang11_B.hs
testsuite/tests/safeHaskell/safeLanguage/SafeLang12_B.hs
testsuite/tests/th/T10819_Lib.hs
testsuite/tests/th/T10828.hs [new file with mode: 0644]
testsuite/tests/th/T10828.stderr [new file with mode: 0644]
testsuite/tests/th/T10828a.hs [new file with mode: 0644]
testsuite/tests/th/T10828a.stderr [new file with mode: 0644]
testsuite/tests/th/T10828b.hs [new file with mode: 0644]
testsuite/tests/th/T10828b.stderr [new file with mode: 0644]
testsuite/tests/th/T4188.stderr
testsuite/tests/th/T5217.hs
testsuite/tests/th/T5217.stderr
testsuite/tests/th/T5290.hs
testsuite/tests/th/T5290.stderr
testsuite/tests/th/T5665a.hs
testsuite/tests/th/T5984_Lib.hs
testsuite/tests/th/T7241.hs
testsuite/tests/th/T7532a.hs
testsuite/tests/th/T8499.hs
testsuite/tests/th/T8624.hs
testsuite/tests/th/T8624.stdout
testsuite/tests/th/TH_RichKinds2.stderr
testsuite/tests/th/TH_Roles1.hs
testsuite/tests/th/TH_Roles2.hs
testsuite/tests/th/TH_dataD1.hs
testsuite/tests/th/TH_genExLib.hs
testsuite/tests/th/TH_spliceDecl1.hs
testsuite/tests/th/TH_spliceDecl3_Lib.hs
testsuite/tests/th/all.T