summaryrefslogtreecommitdiff
path: root/testsuite/tests/quotes/TH_localname.stderr
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2019-11-27 15:29:44 +0000
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-01-12 21:28:47 -0500
commit9129210f7e9937c1065330295f06524661575839 (patch)
tree8eee18f92d23eb2fe39adecda1d547fa8d9fa7cb /testsuite/tests/quotes/TH_localname.stderr
parent49f83a0de12a7c02f4a6e99d26eaa362a373afa5 (diff)
downloadhaskell-9129210f7e9937c1065330295f06524661575839.tar.gz
Overloaded Quotation Brackets (#246)
This patch implements overloaded quotation brackets which generalise the desugaring of all quotation forms in terms of a new minimal interface. The main change is that a quotation, for example, [e| 5 |], will now have type `Quote m => m Exp` rather than `Q Exp`. The `Quote` typeclass contains a single method for generating new names which is used when desugaring binding structures. The return type of functions from the `Lift` type class, `lift` and `liftTyped` have been restricted to `forall m . Quote m => m Exp` rather than returning a result in a Q monad. More details about the feature can be read in the GHC proposal. https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0246-overloaded-bracket.rst
Diffstat (limited to 'testsuite/tests/quotes/TH_localname.stderr')
-rw-r--r--testsuite/tests/quotes/TH_localname.stderr22
1 files changed, 12 insertions, 10 deletions
diff --git a/testsuite/tests/quotes/TH_localname.stderr b/testsuite/tests/quotes/TH_localname.stderr
index d872a622b3..6d0ccc91ec 100644
--- a/testsuite/tests/quotes/TH_localname.stderr
+++ b/testsuite/tests/quotes/TH_localname.stderr
@@ -1,21 +1,23 @@
TH_localname.hs:3:11: error:
- • Ambiguous type variable ‘t0’ arising from a use of ‘Language.Haskell.TH.Syntax.lift’
- prevents the constraint ‘(Language.Haskell.TH.Syntax.Lift
- t0)’ from being solved.
+ • Ambiguous type variable ‘m0’ arising from a quotation bracket
+ prevents the constraint ‘(Language.Haskell.TH.Syntax.Quote
+ m0)’ from being solved.
Relevant bindings include
- y :: t0 (bound at TH_localname.hs:3:6)
- x :: t0 -> Language.Haskell.TH.Lib.Internal.ExpQ
+ x :: t0 -> m0 Language.Haskell.TH.Syntax.Exp
(bound at TH_localname.hs:3:1)
- Probable fix: use a type annotation to specify what ‘t0’ should be.
- These potential instances exist:
- 29 instances involving out-of-scope types
+ Probable fix: use a type annotation to specify what ‘m0’ should be.
+ These potential instance exist:
+ one instance 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:
+ • In the expression:
[| y |]
pending(rn) [<y, Language.Haskell.TH.Syntax.lift y>]
In the expression:
\ y
-> [| y |]
pending(rn) [<y, Language.Haskell.TH.Syntax.lift y>]
+ In an equation for ‘x’:
+ x = \ y
+ -> [| y |]
+ pending(rn) [<y, Language.Haskell.TH.Syntax.lift y>]