{-# LANGUAGE CPP #-} module Language.Haskell.Meta.THCompat ( module Language.Haskell.Meta.THCompat ) where import Language.Haskell.TH.Syntax conP :: Name -> [Pat] -> Pat #if MIN_VERSION_template_haskell(2,18,0) conP :: Name -> [Pat] -> Pat conP Name name = Name -> [Type] -> [Pat] -> Pat ConP Name name [] #else conP = ConP #endif #if MIN_VERSION_template_haskell(2,17,0) plainTV :: Name -> TyVarBndr Specificity plainTV :: Name -> TyVarBndr Specificity plainTV Name n = Name -> Specificity -> TyVarBndr Specificity forall flag. Name -> flag -> TyVarBndr flag PlainTV Name n Specificity SpecifiedSpec #else plainTV :: Name -> TyVarBndr plainTV = PlainTV #endif #if MIN_VERSION_template_haskell(2,17,0) type TyVarBndr_ flag = TyVarBndr flag #else type TyVarBndr_ flag = TyVarBndr #endif