summaryrefslogtreecommitdiff
path: root/testsuite/tests/th/T6018th.hs
diff options
context:
space:
mode:
authorJohn Leo <leo@halfaya.org>2015-12-12 19:28:18 +0100
committerBen Gamari <ben@smart-cactus.org>2015-12-12 20:01:37 +0100
commit9934819f3bb086bba91874cde4f0b17b30b10451 (patch)
tree7eca6742d7c0531132691f8c2ce61ba437f99a7a /testsuite/tests/th/T6018th.hs
parentaaed24a4e0d8fa0d49aca167fddfb8b606755e05 (diff)
downloadhaskell-9934819f3bb086bba91874cde4f0b17b30b10451.tar.gz
Refactor type families in Template Haskell
Fixes #10902. Test Plan: validate Reviewers: goldfire, austin, hvr, jstolarek, bgamari Reviewed By: jstolarek, bgamari Subscribers: hvr, thomie Differential Revision: https://phabricator.haskell.org/D1570 GHC Trac Issues: #10902
Diffstat (limited to 'testsuite/tests/th/T6018th.hs')
-rw-r--r--testsuite/tests/th/T6018th.hs18
1 files changed, 9 insertions, 9 deletions
diff --git a/testsuite/tests/th/T6018th.hs b/testsuite/tests/th/T6018th.hs
index 91438c8dd8..62af743835 100644
--- a/testsuite/tests/th/T6018th.hs
+++ b/testsuite/tests/th/T6018th.hs
@@ -12,12 +12,12 @@ import Language.Haskell.TH
-- type instance F Char Bool Int = Int
-- type instance F Bool Int Char = Char
$( return
- [ OpenTypeFamilyD
+ [ OpenTypeFamilyD (TypeFamilyHead
(mkName "F")
[ PlainTV (mkName "a"), PlainTV (mkName "b"), PlainTV (mkName "c") ]
(TyVarSig (KindedTV (mkName "result") (VarT (mkName "k"))))
(Just $ InjectivityAnn (mkName "result")
- [(mkName "a"), (mkName "b"), (mkName "c") ])
+ [(mkName "a"), (mkName "b"), (mkName "c") ]))
, TySynInstD
(mkName "F")
(TySynEqn [ ConT (mkName "Int"), ConT (mkName "Char")
@@ -41,11 +41,11 @@ $( return
-- type family J a (b :: k) = r | r -> a
---type instance J Int b = Char
$( return
- [ OpenTypeFamilyD
+ [ OpenTypeFamilyD (TypeFamilyHead
(mkName "J")
[ PlainTV (mkName "a"), KindedTV (mkName "b") (VarT (mkName "k")) ]
(TyVarSig (PlainTV (mkName "r")))
- (Just $ InjectivityAnn (mkName "r") [mkName "a"])
+ (Just $ InjectivityAnn (mkName "r") [mkName "a"]))
, TySynInstD
(mkName "J")
(TySynEqn [ ConT (mkName "Int"), VarT (mkName "b") ]
@@ -60,12 +60,12 @@ $( return
-- IClosed Bool Int Int = Int
$( return
- [ ClosedTypeFamilyD
+ [ ClosedTypeFamilyD (TypeFamilyHead
(mkName "I")
[ KindedTV (mkName "a") StarT, KindedTV (mkName "b") StarT
, KindedTV (mkName "c") StarT ]
(TyVarSig (PlainTV (mkName "r")))
- (Just $ InjectivityAnn (mkName "r") [(mkName "a"), (mkName "b")])
+ (Just $ InjectivityAnn (mkName "r") [(mkName "a"), (mkName "b")]))
[ TySynEqn [ ConT (mkName "Int"), ConT (mkName "Char")
, ConT (mkName "Bool")]
( ConT (mkName "Bool"))
@@ -79,7 +79,7 @@ $( return
] )
-- reification test
-$( do { decl@([ClosedTypeFamilyD _ _ _ (Just inj) _]) <-
+$( do { decl@([ClosedTypeFamilyD (TypeFamilyHead _ _ _ (Just inj)) _]) <-
[d| type family Bak a = r | r -> a where
Bak Int = Char
Bak Char = Int
@@ -95,12 +95,12 @@ $( do { decl@([ClosedTypeFamilyD _ _ _ (Just inj) _]) <-
-- type instance I Int Int Int = Bool
-- type instance I Bool Int Int = Int
$( return
- [ OpenTypeFamilyD
+ [ OpenTypeFamilyD (TypeFamilyHead
(mkName "H")
[ PlainTV (mkName "a"), PlainTV (mkName "b"), PlainTV (mkName "c") ]
(TyVarSig (PlainTV (mkName "r")))
(Just $ InjectivityAnn (mkName "r")
- [(mkName "a"), (mkName "b") ])
+ [(mkName "a"), (mkName "b") ]))
, TySynInstD
(mkName "H")
(TySynEqn [ ConT (mkName "Int"), ConT (mkName "Char")