TcMType

ghc-7.8.2: The GHC API

Safe Haskell | None
Language | Haskell98

TcMType

# Documentation

type TcTyVar = TyVar Source

type TcKind = Kind Source

type TcType = Type Source

type TcTauType = TcType Source

type TcThetaType = ThetaType Source

type TcTyVarSet = TyVarSet Source

newFlexiTyVar :: Kind -> TcM TcTyVar Source

newFlexiTyVarTy :: Kind -> TcM TcType Source

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

newPolyFlexiTyVarTy :: TcM TcType Source

newMetaKindVar :: TcM TcKind Source

newMetaKindVars :: Int -> TcM [TcKind] Source

mkTcTyVarName :: Unique -> FastString -> Name Source

cloneMetaTyVar :: TcTyVar -> TcM TcTyVar Source

newMetaTyVar :: MetaInfo -> Kind -> TcM TcTyVar Source

readMetaTyVar :: TyVar -> TcM MetaDetails Source

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

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

newMetaDetails :: MetaInfo -> TcM TcTyVarDetails Source

isFilledMetaTyVar :: TyVar -> TcM Bool Source

isFlexiMetaTyVar :: TyVar -> TcM Bool Source

newEvVar :: TcPredType -> TcM EvVar Source

newEvVars :: TcThetaType -> TcM [EvVar] Source

newEq :: TcType -> TcType -> TcM EvVar Source

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

newWantedEvVar :: TcPredType -> TcM EvVar Source

newWantedEvVars :: TcThetaType -> TcM [EvVar] Source

newTcEvBinds :: TcM EvBindsVar Source

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

newFlatWanted :: CtOrigin -> PredType -> TcM Ct Source

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

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

newSigTyVar :: Name -> Kind -> TcM TcTyVar Source

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

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

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

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

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

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

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

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

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

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

zonkTcPredType :: TcPredType -> TcM TcPredType Source

skolemiseUnboundMetaTyVar :: TcTyVar -> TcTyVarDetails -> TcM TyVar Source

zonkTcTyVar :: TcTyVar -> TcM TcType Source

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

zonkTyVarsAndFV :: TyVarSet -> TcM TyVarSet Source

zonkTcTypeAndFV :: TcType -> TcM TyVarSet Source

zonkQuantifiedTyVar :: TcTyVar -> TcM TcTyVar Source

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

zonkTcTyVarBndr :: TcTyVar -> TcM TcTyVar Source

zonkTcType :: TcType -> TcM TcType Source

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

zonkTcThetaType :: TcThetaType -> TcM TcThetaType Source

zonkTcKind :: TcKind -> TcM TcKind Source

defaultKindVarToStar :: TcTyVar -> TcM Kind Source

zonkEvVar :: EvVar -> TcM EvVar Source

zonkWC :: EvBindsVar -> WantedConstraints -> TcM WantedConstraints Source

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

zonkId :: TcId -> TcM TcId Source

zonkCt :: Ct -> TcM Ct Source

zonkCts :: Cts -> TcM Cts Source

zonkSkolemInfo :: SkolemInfo -> TcM SkolemInfo Source

tcGetGlobalTyVars :: TcM TcTyVarSet Source