Allow generation of TTH syntax with TH
In other words allow generation of typed splices and brackets with Untyped Template Haskell. That is useful in cases where a library is build with TTH in mind, but we still want to generate some auxiliary declarations, where TTH cannot help us, but untyped TH can. Such example is e.g. `staged-sop` which works with TTH, but we would like to derive `Generic` declarations with TH. An alternative approach is to use `unsafeCodeCoerce`, but then the derived `Generic` instances would be type-checked only at use sites, i.e. much later. Also `-ddump-splices` output is quite ugly: user-written instances would use TTH brackets, not `unsafeCodeCoerce`. This commit doesn't allow generating of untyped template splices and brackets with untyped TH, as I don't know why one would want to do that (instead of merging the splices, e.g.)
Showing
- compiler/GHC/ThToHs.hs 4 additions, 0 deletionscompiler/GHC/ThToHs.hs
- libraries/template-haskell/Language/Haskell/TH/Lib.hs 1 addition, 1 deletionlibraries/template-haskell/Language/Haskell/TH/Lib.hs
- libraries/template-haskell/Language/Haskell/TH/Lib/Internal.hs 6 additions, 0 deletions...ries/template-haskell/Language/Haskell/TH/Lib/Internal.hs
- libraries/template-haskell/Language/Haskell/TH/Ppr.hs 2 additions, 0 deletionslibraries/template-haskell/Language/Haskell/TH/Ppr.hs
- libraries/template-haskell/Language/Haskell/TH/Syntax.hs 2 additions, 0 deletionslibraries/template-haskell/Language/Haskell/TH/Syntax.hs
- libraries/template-haskell/changelog.md 4 additions, 0 deletionslibraries/template-haskell/changelog.md
- testsuite/tests/th/TH_typed1.hs 7 additions, 0 deletionstestsuite/tests/th/TH_typed1.hs
- testsuite/tests/th/TH_typed1.stdout 1 addition, 0 deletionstestsuite/tests/th/TH_typed1.stdout
- testsuite/tests/th/TH_typed2.hs 7 additions, 0 deletionstestsuite/tests/th/TH_typed2.hs
- testsuite/tests/th/TH_typed2.stdout 1 addition, 0 deletionstestsuite/tests/th/TH_typed2.stdout
- testsuite/tests/th/TH_typed3.hs 10 additions, 0 deletionstestsuite/tests/th/TH_typed3.hs
- testsuite/tests/th/TH_typed3.stderr 9 additions, 0 deletionstestsuite/tests/th/TH_typed3.stderr
- testsuite/tests/th/TH_typed4.hs 7 additions, 0 deletionstestsuite/tests/th/TH_typed4.hs
- testsuite/tests/th/TH_typed4.stderr 10 additions, 0 deletionstestsuite/tests/th/TH_typed4.stderr
- testsuite/tests/th/TH_typed5.hs 10 additions, 0 deletionstestsuite/tests/th/TH_typed5.hs
- testsuite/tests/th/TH_typed5.stdout 2 additions, 0 deletionstestsuite/tests/th/TH_typed5.stdout
- testsuite/tests/th/all.T 5 additions, 0 deletionstestsuite/tests/th/all.T
Loading
Please register or sign in to comment