|
|
|
|
|
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 |
|
|
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.3.0 |