diff options
author | John Leo <leo@halfaya.org> | 2015-12-12 19:28:18 +0100 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2015-12-12 20:01:37 +0100 |
commit | 9934819f3bb086bba91874cde4f0b17b30b10451 (patch) | |
tree | 7eca6742d7c0531132691f8c2ce61ba437f99a7a /testsuite/tests/th/T6018th.hs | |
parent | aaed24a4e0d8fa0d49aca167fddfb8b606755e05 (diff) | |
download | haskell-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.hs | 18 |
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") |