module Language.Haskell.TH.Compat.Constraint.Current ( classP, ) where import Language.Haskell.TH (Q, Name, Type, Pred, conT, appT) -- | type-class predicate context. -- definition to keep backward comatiblity. classP :: Name -> [Q Type] -> Q Pred classP :: Name -> [Q Type] -> Q Type classP cla :: Name cla tys :: [Q Type] tys = (Q Type -> Q Type -> Q Type) -> Q Type -> [Q Type] -> Q Type forall (t :: * -> *) b a. Foldable t => (b -> a -> b) -> b -> t a -> b foldl Q Type -> Q Type -> Q Type appT (Name -> Q Type conT Name cla) [Q Type] tys