diff options
author | Alec Theriault <alec.theriault@gmail.com> | 2019-04-17 08:07:52 -0700 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-04-18 22:52:25 -0400 |
commit | 57cf113302eee6068a1b10cba348f4b7de7faeae (patch) | |
tree | 3542f990a72d4f3f8bbdd8965e6b2a82d5ea9d75 /testsuite/tests/quotes/TH_localname.stderr | |
parent | 5988f17a799ba3416bb6ed539ae65e1f3fd9f2c0 (diff) | |
download | haskell-57cf113302eee6068a1b10cba348f4b7de7faeae.tar.gz |
TH: make `Lift` and `TExp` levity-polymorphic
Besides the obvious benefits of being able to manipulate `TExp`'s of
unboxed types, this also simplified `-XDeriveLift` all while making
it more capable.
* `ghc-prim` is explicitly depended upon by `template-haskell`
* The following TH things are parametrized over `RuntimeRep`:
- `TExp(..)`
- `unTypeQ`
- `unsafeTExpCoerce`
- `Lift(..)`
* The following instances have been added to `Lift`:
- `Int#`, `Word#`, `Float#`, `Double#`, `Char#`, `Addr#`
- unboxed tuples of lifted types up to arity 7
- unboxed sums of lifted types up to arity 7
Ideally we would have levity-polymorphic _instances_ of unboxed
tuples and sums.
* The code generated by `-XDeriveLift` uses expression quotes
instead of generating large amounts of TH code and having
special hard-coded cases for some unboxed types.
Diffstat (limited to 'testsuite/tests/quotes/TH_localname.stderr')
-rw-r--r-- | testsuite/tests/quotes/TH_localname.stderr | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/testsuite/tests/quotes/TH_localname.stderr b/testsuite/tests/quotes/TH_localname.stderr index df38597f2c..d872a622b3 100644 --- a/testsuite/tests/quotes/TH_localname.stderr +++ b/testsuite/tests/quotes/TH_localname.stderr @@ -9,17 +9,7 @@ TH_localname.hs:3:11: error: (bound at TH_localname.hs:3:1) Probable fix: use a type annotation to specify what ‘t0’ should be. These potential instances exist: - instance (Language.Haskell.TH.Syntax.Lift a, - Language.Haskell.TH.Syntax.Lift b) => - Language.Haskell.TH.Syntax.Lift (Either a b) - -- Defined in ‘Language.Haskell.TH.Syntax’ - instance Language.Haskell.TH.Syntax.Lift Integer - -- Defined in ‘Language.Haskell.TH.Syntax’ - instance Language.Haskell.TH.Syntax.Lift a => - Language.Haskell.TH.Syntax.Lift (Maybe a) - -- Defined in ‘Language.Haskell.TH.Syntax’ - ...plus 14 others - ...plus 12 instances involving out-of-scope types + 29 instances involving out-of-scope types (use -fprint-potential-instances to see them all) • In the expression: Language.Haskell.TH.Syntax.lift y In the expression: |