diff options
author | Richard Eisenberg <eir@cis.upenn.edu> | 2015-12-24 14:33:19 -0500 |
---|---|---|
committer | Richard Eisenberg <eir@cis.upenn.edu> | 2015-12-24 14:37:39 -0500 |
commit | 2db18b8135335da2da9918b722699df684097be9 (patch) | |
tree | 660dd90916aa6568694bbe39cdab83c7af98c5d7 /testsuite/tests/th | |
parent | 48db13d279d592ed3044cbaf3513854bcb0d3dce (diff) | |
download | haskell-2db18b8135335da2da9918b722699df684097be9.tar.gz |
Visible type application
This re-working of the typechecker algorithm is based on
the paper "Visible type application", by Richard Eisenberg,
Stephanie Weirich, and Hamidhasan Ahmed, to be published at
ESOP'16.
This patch introduces -XTypeApplications, which allows users
to say, for example `id @Int`, which has type `Int -> Int`. See
the changes to the user manual for details.
This patch addresses tickets #10619, #5296, #10589.
Diffstat (limited to 'testsuite/tests/th')
-rw-r--r-- | testsuite/tests/th/T10945.stderr | 59 | ||||
-rw-r--r-- | testsuite/tests/th/T8577.stderr | 3 |
2 files changed, 33 insertions, 29 deletions
diff --git a/testsuite/tests/th/T10945.stderr b/testsuite/tests/th/T10945.stderr index 0c1d949053..c84fa38b61 100644 --- a/testsuite/tests/th/T10945.stderr +++ b/testsuite/tests/th/T10945.stderr @@ -1,29 +1,32 @@ -T10945.hs:7:11: - Couldn't match expected type ‘TExp DecsQ’ with actual type ‘[Dec]’ - In the first argument of ‘return’, namely - ‘[SigD - (mkName "m") - (ForallT - [PlainTV (mkName "a")] - [] - (AppT (AppT ArrowT (VarT (mkName "a"))) (VarT (mkName "a")))), - FunD (mkName "m") [Clause [...] (NormalB (VarE (mkName "x"))) []]]’ - In the expression: - return - [SigD - (mkName "m") - (ForallT - [PlainTV (mkName "a")] - [] - (AppT (AppT ArrowT (VarT (mkName "a"))) (VarT (mkName "a")))), - FunD (mkName "m") [Clause [...] (NormalB (VarE (mkName "x"))) []]] - In the Template Haskell splice - $$(return - [SigD - (mkName "m") - (ForallT - [PlainTV (mkName "a")] - [] - (AppT (AppT ArrowT (VarT (mkName "a"))) (VarT (mkName "a")))), - FunD (mkName "m") [Clause [...] (NormalB (VarE (mkName "x"))) []]]) +T10945.hs:7:4: error: + • Couldn't match type ‘[Dec]’ with ‘TExp DecsQ’ + Expected type: Q (TExp DecsQ) + Actual type: Q [Dec] + • In the expression: + return + [SigD + (mkName "m") + (ForallT + [PlainTV (mkName "a")] + [] + (AppT (AppT ArrowT (VarT (mkName "a"))) (VarT (mkName "a")))), + FunD (mkName "m") [Clause [...] (NormalB (VarE (mkName "x"))) []]] + In the Template Haskell splice + $$(return + [SigD + (mkName "m") + (ForallT + [PlainTV (mkName "a")] + [] + (AppT (AppT ArrowT (VarT (mkName "a"))) (VarT (mkName "a")))), + FunD (mkName "m") [Clause [...] (NormalB (VarE (mkName "x"))) []]]) + In the expression: + $$(return + [SigD + (mkName "m") + (ForallT + [PlainTV (mkName "a")] + [] + (AppT (AppT ArrowT (VarT (mkName "a"))) (VarT (mkName "a")))), + FunD (mkName "m") [Clause ... (NormalB (VarE (mkName "x"))) ...]]) diff --git a/testsuite/tests/th/T8577.stderr b/testsuite/tests/th/T8577.stderr index 734007e6cc..ef95cc313d 100644 --- a/testsuite/tests/th/T8577.stderr +++ b/testsuite/tests/th/T8577.stderr @@ -1,7 +1,8 @@ -T8577.hs:9:11: +T8577.hs:9:11: error: Couldn't match type ‘Int’ with ‘Bool’ Expected type: Q (TExp (A Bool)) Actual type: Q (TExp (A Int)) In the expression: y In the Template Haskell splice $$y + In the expression: $$y |