ghc-7.10.2: The GHC API

Safe HaskellNone
LanguageHaskell2010

TcMType

Synopsis

Documentation

type TcTyVar = TyVar

type TcKind = Kind

type TcType = Type

instSkolTyVars :: (Unique -> Name -> Kind -> TyVar) -> [TyVar] -> TcRnIf gbl lcl (TvSubst, [TyVar])

freshenTyVarBndrs :: [TyVar] -> TcRnIf gbl lcl (TvSubst, [TyVar])

Give fresh uniques to a bunch of TyVars, but they stay as TyVars, rather than becoming TcTyVars Used in FamInst.newFamInst, and Inst.newClsInst

tidyCt :: TidyEnv -> Ct -> Ct

zonkCt :: Ct -> TcM Ct

newWildcardVar :: Name -> Kind -> TcM TcTyVar

Create a new meta var with the given kind. This meta var should be used to replace a wildcard in a type. Such a wildcard meta var can be distinguished from other meta vars with the isWildcardVar function.

newWildcardVarMetaKind :: Name -> TcM TcTyVar

Create a new meta var (which can unify with a type of any kind). This meta var should be used to replace a wildcard in a type. Such a wildcard meta var can be distinguished from other meta vars with the isWildcardVar function.