Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- appsT :: TypeQ -> [TypeQ] -> TypeQ
- appsE1 :: ExpQ -> [ExpQ] -> ExpQ
- toTupleT :: [TypeQ] -> TypeQ
- toTupleE :: [ExpQ] -> ExpQ
- toTupleP :: [PatQ] -> PatQ
- conAppsT :: Name -> [Type] -> Type
- bndrName :: TyVarBndr -> Name
- newNames :: String -> Int -> Q [Name]
- eqSubst :: Type -> String -> Q (Type, Pred)
- addKindVars :: DatatypeInfo -> Type -> Type
- quantifyType :: [TyVarBndr] -> Cxt -> Type -> Type
- quantifyType' :: Set Name -> [TyVarBndr] -> Cxt -> Type -> Type
- inlinePragma :: Name -> [DecQ]
Documentation
Generate many new names from a given base name.
addKindVars :: DatatypeInfo -> Type -> Type Source #
Fill in kind variables using info from datatype type parameters.
quantifyType :: [TyVarBndr] -> Cxt -> Type -> Type Source #
Template Haskell wants type variables declared in a forall, so we find all free type variables in a given type and declare them.
quantifyType' :: Set Name -> [TyVarBndr] -> Cxt -> Type -> Type Source #
This function works like quantifyType
except that it takes
a list of variables to exclude from quantification.
inlinePragma :: Name -> [DecQ] Source #