ghc-7.8.4: The GHC API

Safe Haskell | None
Language | Haskell98

TcMType

# Documentation

type TcTyVar = TyVar

type TcKind = Kind

type TcType = Type

type TcTauType = TcType

type TcThetaType = ThetaType

type TcTyVarSet = TyVarSet

newFlexiTyVar :: Kind -> TcM TcTyVar

newFlexiTyVarTy :: Kind -> TcM TcType

newFlexiTyVarTys :: Int -> Kind -> TcM [TcType]

newPolyFlexiTyVarTy :: TcM TcType

newMetaKindVar :: TcM TcKind

newMetaKindVars :: Int -> TcM [TcKind]

mkTcTyVarName :: Unique -> FastString -> Name

cloneMetaTyVar :: TcTyVar -> TcM TcTyVar

newMetaTyVar :: MetaInfo -> Kind -> TcM TcTyVar

readMetaTyVar :: TyVar -> TcM MetaDetails

writeMetaTyVar :: TcTyVar -> TcType -> TcM ()

writeMetaTyVarRef :: TcTyVar -> TcRef MetaDetails -> TcType -> TcM ()

newMetaDetails :: MetaInfo -> TcM TcTyVarDetails

isFilledMetaTyVar :: TyVar -> TcM Bool

isFlexiMetaTyVar :: TyVar -> TcM Bool

newEvVar :: TcPredType -> TcM EvVar

newEvVars :: TcThetaType -> TcM [EvVar]

newEq :: TcType -> TcType -> TcM EvVar

newDict :: Class -> [TcType] -> TcM DictId

newWantedEvVar :: TcPredType -> TcM EvVar

newWantedEvVars :: TcThetaType -> TcM [EvVar]

newTcEvBinds :: TcM EvBindsVar

addTcEvBind :: EvBindsVar -> EvVar -> EvTerm -> TcM ()

newFlatWanted :: CtOrigin -> PredType -> TcM Ct

newFlatWanteds :: CtOrigin -> ThetaType -> TcM [Ct]

tcInstTyVars :: [TKVar] -> TcM ([TcTyVar], [TcType], TvSubst)

newSigTyVar :: Name -> Kind -> TcM TcTyVar

tcInstType :: ([TyVar] -> TcM (TvSubst, [TcTyVar])) -> TcType -> TcM ([TcTyVar], TcThetaType, TcType)

tcInstSkolTyVars :: [TyVar] -> TcM (TvSubst, [TcTyVar])

tcInstSuperSkolTyVars :: [TyVar] -> TcM [TcTyVar]

tcInstSuperSkolTyVarsX :: TvSubst -> [TyVar] -> TcM (TvSubst, [TcTyVar])

tcInstSigTyVarsLoc :: SrcSpan -> [TyVar] -> TcRnIf gbl lcl (TvSubst, [TcTyVar])

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

tcInstSkolTyVar :: SrcSpan -> Bool -> TvSubst -> TyVar -> TcRnIf gbl lcl (TvSubst, TcTyVar)

tcInstSkolType :: TcType -> TcM ([TcTyVar], TcThetaType, TcType)

tcSkolDFunType :: Type -> TcM ([TcTyVar], TcThetaType, TcType)

tcSuperSkolTyVars :: [TyVar] -> (TvSubst, [TcTyVar])

zonkTcPredType :: TcPredType -> TcM TcPredType

skolemiseUnboundMetaTyVar :: TcTyVar -> TcTyVarDetails -> TcM TyVar

zonkTcTyVar :: TcTyVar -> TcM TcType

zonkTcTyVars :: [TcTyVar] -> TcM [TcType]

zonkTyVarsAndFV :: TyVarSet -> TcM TyVarSet

zonkTcTypeAndFV :: TcType -> TcM TyVarSet

zonkQuantifiedTyVar :: TcTyVar -> TcM TcTyVar

quantifyTyVars :: TcTyVarSet -> TcTyVarSet -> TcM [TcTyVar]

zonkTcTyVarBndr :: TcTyVar -> TcM TcTyVar

zonkTcType :: TcType -> TcM TcType

zonkTcTypes :: [TcType] -> TcM [TcType]

zonkTcThetaType :: TcThetaType -> TcM TcThetaType

zonkTcKind :: TcKind -> TcM TcKind

defaultKindVarToStar :: TcTyVar -> TcM Kind

zonkEvVar :: EvVar -> TcM EvVar

zonkWC :: EvBindsVar -> WantedConstraints -> TcM WantedConstraints

zonkFlats :: EvBindsVar -> Untouchables -> Cts -> TcM Cts

zonkId :: TcId -> TcM TcId

zonkCt :: Ct -> TcM Ct

zonkCts :: Cts -> TcM Cts

zonkSkolemInfo :: SkolemInfo -> TcM SkolemInfo

tcGetGlobalTyVars :: TcM TcTyVarSet