| ghc-6.10.4: The GHC API | Contents | Index
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]
newKindVar :: TcM TcKind
newKindVars :: Int -> TcM [TcKind]
lookupTcTyVar :: TcTyVar -> TcM LookupTyVarResult
data LookupTyVarResult
Constructors
DoneTv TcTyVarDetails |
IndirectTv TcType |
newMetaTyVar :: BoxInfo -> Kind -> TcM TcTyVar
readMetaTyVar :: TyVar -> TcM MetaDetails
writeMetaTyVar :: TcTyVar -> TcType -> TcM ()
isFilledMetaTyVar :: TyVar -> TcM Bool
newBoxyTyVar :: Kind -> TcM BoxyTyVar
newBoxyTyVars :: [Kind] -> TcM [BoxyTyVar]
newBoxyTyVarTys :: [Kind] -> TcM [BoxyType]
readFilledBox :: BoxyTyVar -> TcM TcType
newCoVars :: [(TcType, TcType)] -> TcM [CoVar]
newMetaCoVar :: TcType -> TcType -> TcM TcTyVar
tcInstTyVar :: TyVar -> TcM TcTyVar
tcInstType :: ([TyVar] -> TcM [TcTyVar]) -> TcType -> TcM ([TcTyVar], TcThetaType, TcType)
tcInstTyVars :: [TyVar] -> TcM ([TcTyVar], [TcType], TvSubst)
tcInstBoxyTyVar :: TyVar -> TcM BoxyTyVar
tcInstSigType :: Bool -> SkolemInfo -> TcType -> TcM ([TcTyVar], TcThetaType, TcRhoType)
tcInstSkolTyVars :: SkolemInfo -> [TyVar] -> TcM [TcTyVar]
tcInstSkolType :: SkolemInfo -> TcType -> TcM ([TcTyVar], TcThetaType, TcType)
tcSkolSigType :: SkolemInfo -> Type -> TcM ([TcTyVar], TcThetaType, TcType)
tcSkolSigTyVars :: SkolemInfo -> [TyVar] -> [TcTyVar]
occurCheckErr :: TcType -> TcType -> TcM a
data Rank
data UserTypeCtxt
Constructors
FunSigCtxt Name |
ExprSigCtxt |
ConArgCtxt Name |
TySynCtxt Name |
GenPatCtxt |
LamPatSigCtxt |
BindPatSigCtxt |
ResSigCtxt |
ForSigCtxt Name |
DefaultDeclCtxt |
SpecInstCtxt |
checkValidType :: UserTypeCtxt -> Type -> TcM ()
checkValidMonoType :: Type -> TcM ()
data SourceTyCtxt
Constructors
ClassSCCtxt Name |
SigmaCtxt |
DataTyCtxt Name |
TypeCtxt |
InstThetaCtxt |
checkValidTheta :: SourceTyCtxt -> ThetaType -> TcM ()
checkFreeness :: [Var] -> [PredType] -> TcM ()
checkValidInstHead :: Type -> TcM (Class, [TcType])
checkValidInstance :: [TyVar] -> ThetaType -> Class -> [TcType] -> TcM ()
checkInstTermination :: [TcType] -> ThetaType -> [Message]
checkValidTypeInst :: [Type] -> Type -> TcM ()
checkTyFamFreeness :: Type -> TcM ()
checkUpdateMeta :: SwapFlag -> TcTyVar -> IORef MetaDetails -> TcType -> TcM ()
updateMeta :: TcTyVar -> IORef MetaDetails -> TcType -> TcM ()
checkTauTvUpdate :: TcTyVar -> TcType -> TcM (Maybe TcType)
fillBoxWithTau :: BoxyTyVar -> IORef MetaDetails -> TcM TcType
unifyKindCtxt :: Bool -> TyVar -> Type -> TidyEnv -> TcM (TidyEnv, SDoc)
unifyKindMisMatch :: TcKind -> TcKind -> TcM ()
validDerivPred :: PredType -> Bool
arityErr :: Outputable a => String -> a -> Int -> Int -> SDoc
notMonoType :: TcType -> TcM a
notMonoArgs :: TcType -> TcM a
zonkType :: (TcTyVar -> TcM Type) -> TcType -> TcM Type
zonkTcPredType :: TcPredType -> TcM TcPredType
zonkTcTyVar :: TcTyVar -> TcM TcType
zonkTcTyVars :: [TcTyVar] -> TcM [TcType]
zonkTcTyVarsAndFV :: [TcTyVar] -> TcM TcTyVarSet
zonkSigTyVar :: TcTyVar -> TcM TcTyVar
zonkQuantifiedTyVar :: TcTyVar -> TcM TcTyVar
zonkQuantifiedTyVars :: [TcTyVar] -> TcM [TcTyVar]
zonkTcType :: TcType -> TcM TcType
zonkTcTypes :: [TcType] -> TcM [TcType]
zonkTcThetaType :: TcThetaType -> TcM TcThetaType
zonkTcKindToKind :: TcKind -> TcM Kind
zonkTcKind :: TcKind -> TcM TcKind
zonkTopTyVar :: TcTyVar -> TcM TcTyVar
readKindVar :: KindVar -> TcM MetaDetails
writeKindVar :: KindVar -> TcKind -> TcM ()
Produced by Haddock version 2.4.2