summaryrefslogtreecommitdiff
path: root/libraries/template-haskell
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2017-12-04 13:50:36 -0500
committerBen Gamari <ben@smart-cactus.org>2017-12-04 16:35:01 -0500
commitcfea745097c619be8f9746d5a0d346eb06779129 (patch)
treef1e1a4137bc4e2633c387c0488aba900c5047a46 /libraries/template-haskell
parent1acb922bb1186662919c1dbc0af596584e5db3ac (diff)
downloadhaskell-cfea745097c619be8f9746d5a0d346eb06779129.tar.gz
template-haskell: Rip out FamFlavour
This was scheduled to happen for 8.2, it looks like it will actually happen in 8.4.
Diffstat (limited to 'libraries/template-haskell')
-rw-r--r--libraries/template-haskell/Language/Haskell/TH.hs2
-rw-r--r--libraries/template-haskell/Language/Haskell/TH/Lib.hs3
-rw-r--r--libraries/template-haskell/Language/Haskell/TH/Lib/Internal.hs48
-rw-r--r--libraries/template-haskell/Language/Haskell/TH/Ppr.hs5
-rw-r--r--libraries/template-haskell/Language/Haskell/TH/Syntax.hs3
-rw-r--r--libraries/template-haskell/changelog.md7
6 files changed, 7 insertions, 61 deletions
diff --git a/libraries/template-haskell/Language/Haskell/TH.hs b/libraries/template-haskell/Language/Haskell/TH.hs
index fd5c06f2f1..213c70e58f 100644
--- a/libraries/template-haskell/Language/Haskell/TH.hs
+++ b/libraries/template-haskell/Language/Haskell/TH.hs
@@ -73,7 +73,7 @@ module Language.Haskell.TH(
SourceUnpackedness(..), SourceStrictness(..), DecidedStrictness(..),
Bang(..), Strict, Foreign(..), Callconv(..), Safety(..), Pragma(..),
Inline(..), RuleMatch(..), Phases(..), RuleBndr(..), AnnTarget(..),
- FunDep(..), FamFlavour(..), TySynEqn(..), TypeFamilyHead(..),
+ FunDep(..), TySynEqn(..), TypeFamilyHead(..),
Fixity(..), FixityDirection(..), defaultFixity, maxPrecedence,
PatSynDir(..), PatSynArgs(..),
-- ** Expressions
diff --git a/libraries/template-haskell/Language/Haskell/TH/Lib.hs b/libraries/template-haskell/Language/Haskell/TH/Lib.hs
index 9ad36f8586..dbf01f11df 100644
--- a/libraries/template-haskell/Language/Haskell/TH/Lib.hs
+++ b/libraries/template-haskell/Language/Haskell/TH/Lib.hs
@@ -88,9 +88,8 @@ module Language.Haskell.TH.Lib (
roleAnnotD,
-- **** Type Family / Data Family
dataFamilyD, openTypeFamilyD, closedTypeFamilyD, dataInstD,
- familyNoKindD, familyKindD, closedTypeFamilyNoKindD, closedTypeFamilyKindD,
newtypeInstD, tySynInstD,
- typeFam, dataFam, tySynEqn, injectivityAnn, noSig, kindSig, tyVarSig,
+ tySynEqn, injectivityAnn, noSig, kindSig, tyVarSig,
-- **** Fixity
infixLD, infixRD, infixND,
diff --git a/libraries/template-haskell/Language/Haskell/TH/Lib/Internal.hs b/libraries/template-haskell/Language/Haskell/TH/Lib/Internal.hs
index d58ce84f99..4496ecda25 100644
--- a/libraries/template-haskell/Language/Haskell/TH/Lib/Internal.hs
+++ b/libraries/template-haskell/Language/Haskell/TH/Lib/Internal.hs
@@ -12,8 +12,6 @@
-- relegate as many changes as we can to just the Internal module, where it
-- is safe to break things.
-{-# LANGUAGE CPP #-}
-
module Language.Haskell.TH.Lib.Internal where
import Language.Haskell.TH.Syntax hiding (Role, InjectivityAnn)
@@ -529,45 +527,6 @@ closedTypeFamilyD tc tvs result injectivity eqns =
eqns1 <- sequenceA eqns
return (ClosedTypeFamilyD (TypeFamilyHead tc tvs1 result1 injectivity) eqns1)
--- These were deprecated in GHC 8.0 with a plan to remove them in 8.2. If you
--- remove this check please also:
--- 1. remove deprecated functions
--- 2. remove CPP language extension from top of this module
--- 3. remove the FamFlavour data type from Syntax module
--- 4. make sure that all references to FamFlavour are gone from DsMeta,
--- Convert, TcSplice (follows from 3)
-#if __GLASGOW_HASKELL__ >= 804
-#error Remove deprecated familyNoKindD, familyKindD, closedTypeFamilyNoKindD and closedTypeFamilyKindD
-#endif
-
-{-# DEPRECATED familyNoKindD, familyKindD
- "This function will be removed in the next stable release. Use openTypeFamilyD/dataFamilyD instead." #-}
-familyNoKindD :: FamFlavour -> Name -> [TyVarBndr] -> DecQ
-familyNoKindD flav tc tvs =
- case flav of
- TypeFam -> return $ OpenTypeFamilyD (TypeFamilyHead tc tvs NoSig Nothing)
- DataFam -> return $ DataFamilyD tc tvs Nothing
-
-familyKindD :: FamFlavour -> Name -> [TyVarBndr] -> Kind -> DecQ
-familyKindD flav tc tvs k =
- case flav of
- TypeFam ->
- return $ OpenTypeFamilyD (TypeFamilyHead tc tvs (KindSig k) Nothing)
- DataFam -> return $ DataFamilyD tc tvs (Just k)
-
-{-# DEPRECATED closedTypeFamilyNoKindD, closedTypeFamilyKindD
- "This function will be removed in the next stable release. Use closedTypeFamilyD instead." #-}
-closedTypeFamilyNoKindD :: Name -> [TyVarBndr] -> [TySynEqnQ] -> DecQ
-closedTypeFamilyNoKindD tc tvs eqns =
- do eqns1 <- sequence eqns
- return (ClosedTypeFamilyD (TypeFamilyHead tc tvs NoSig Nothing) eqns1)
-
-closedTypeFamilyKindD :: Name -> [TyVarBndr] -> Kind -> [TySynEqnQ] -> DecQ
-closedTypeFamilyKindD tc tvs kind eqns =
- do eqns1 <- sequence eqns
- return (ClosedTypeFamilyD (TypeFamilyHead tc tvs (KindSig kind) Nothing)
- eqns1)
-
roleAnnotD :: Name -> [Role] -> DecQ
roleAnnotD name roles = return $ RoleAnnotD name roles
@@ -874,13 +833,6 @@ funDep :: [Name] -> [Name] -> FunDep
funDep = FunDep
-------------------------------------------------------------------------------
--- * FamFlavour
-
-typeFam, dataFam :: FamFlavour
-typeFam = TypeFam
-dataFam = DataFam
-
--------------------------------------------------------------------------------
-- * RuleBndr
ruleVar :: Name -> RuleBndrQ
ruleVar = return . RuleVar
diff --git a/libraries/template-haskell/Language/Haskell/TH/Ppr.hs b/libraries/template-haskell/Language/Haskell/TH/Ppr.hs
index bbb73b07c7..278b45edf2 100644
--- a/libraries/template-haskell/Language/Haskell/TH/Ppr.hs
+++ b/libraries/template-haskell/Language/Haskell/TH/Ppr.hs
@@ -466,11 +466,6 @@ instance Ppr FunDep where
ppr_list xs = bar <+> commaSep xs
------------------------------
-instance Ppr FamFlavour where
- ppr DataFam = text "data"
- ppr TypeFam = text "type"
-
-------------------------------
instance Ppr FamilyResultSig where
ppr NoSig = empty
ppr (KindSig k) = dcolon <+> ppr k
diff --git a/libraries/template-haskell/Language/Haskell/TH/Syntax.hs b/libraries/template-haskell/Language/Haskell/TH/Syntax.hs
index 0541a088bf..7589619fed 100644
--- a/libraries/template-haskell/Language/Haskell/TH/Syntax.hs
+++ b/libraries/template-haskell/Language/Haskell/TH/Syntax.hs
@@ -1776,9 +1776,6 @@ data TySynEqn = TySynEqn [Type] Type
data FunDep = FunDep [Name] [Name]
deriving( Show, Eq, Ord, Data, Generic )
-data FamFlavour = TypeFam | DataFam
- deriving( Show, Eq, Ord, Data, Generic )
-
data Foreign = ImportF Callconv Safety String Name Type
| ExportF Callconv String Name Type
deriving( Show, Eq, Ord, Data, Generic )
diff --git a/libraries/template-haskell/changelog.md b/libraries/template-haskell/changelog.md
index e003f1b47e..b4728329d1 100644
--- a/libraries/template-haskell/changelog.md
+++ b/libraries/template-haskell/changelog.md
@@ -4,6 +4,9 @@
* Bundled with GHC *TBA*
+ * `Language.Haskell.TH.FamFlavour`, which was deprecated in 2.11,
+ has been removed.
+
* Add support for overloaded labels. Introduces `labelE :: String -> ExpQ`.
* Add `KindQ`, `TyVarBndrQ`, and `FamilyResultSigQ` aliases to
@@ -19,9 +22,9 @@
* Add `MonadIO Q` instance
-## 2.12.0.0 *TBA*
+## 2.12.0.0 *July 2017*
- * Bundled with GHC *TBA*
+ * Bundled with GHC 8.2.1
* Add support for pattern synonyms. This introduces one new constructor to
`Info` (`PatSynI`), two new constructors to `Dec` (`PatSynD` and