TcHsType

ghc-7.8.2: The GHC API

Safe Haskell | None
Language | Haskell98

TcHsType

# Documentation

tcHsSigType :: UserTypeCtxt -> LHsType Name -> TcM Type Source

tcHsSigTypeNC :: UserTypeCtxt -> LHsType Name -> TcM Type Source

tcHsDeriv :: HsType Name -> TcM ([TyVar], Class, [Type]) Source

tcHsVectInst :: LHsType Name -> TcM (Class, [Type]) Source

tcHsInstHead :: UserTypeCtxt -> LHsType Name -> TcM ([TyVar], ThetaType, Class, [Type]) Source

data UserTypeCtxt Source

Constructors

FunSigCtxt Name |
InfSigCtxt Name |
ExprSigCtxt |
ConArgCtxt Name |
TySynCtxt Name |
LamPatSigCtxt |
BindPatSigCtxt |
RuleSigCtxt Name |
ResSigCtxt |
ForSigCtxt Name |
DefaultDeclCtxt |
InstDeclCtxt |
SpecInstCtxt |
ThBrackCtxt |
GenSigCtxt |
GhciCtxt |
ClassSCCtxt Name |
SigmaCtxt |
DataTyCtxt Name |

kcLookupKind :: Name -> TcM Kind Source

kcTyClTyVars :: Name -> LHsTyVarBndrs Name -> TcM a -> TcM a Source

tcTyClTyVars :: Name -> LHsTyVarBndrs Name -> ([TyVar] -> Kind -> TcM a) -> TcM a Source

tcHsConArgType :: NewOrData -> LHsType Name -> TcM Type Source

tcDataKindSig :: Kind -> TcM [TyVar] Source

tcClassSigType :: LHsType Name -> TcM Type Source

data KindCheckingStrategy Source

Constructors

ParametricKinds |
NonParametricKinds |
FullKindSignature |

Instances

Eq KindCheckingStrategy |

kcStrategy :: TyClDecl Name -> KindCheckingStrategy Source

kcStrategyFamDecl :: FamilyDecl Name -> KindCheckingStrategy Source

kcHsTyVarBndrs :: KindCheckingStrategy -> LHsTyVarBndrs Name -> TcM (Kind, r) -> TcM (Kind, r) Source

tcHsTyVarBndrs :: LHsTyVarBndrs Name -> ([TcTyVar] -> TcM r) -> TcM r Source

tcHsLiftedType :: LHsType Name -> TcM TcType Source

tcHsOpenType :: LHsType Name -> TcM TcType Source

tcLHsType :: LHsType Name -> TcM (TcType, TcKind) Source

tcCheckLHsType :: LHsType Name -> Kind -> TcM Type Source

tcHsContext :: LHsContext Name -> TcM [PredType] Source

tcInferApps :: Outputable a => a -> TcKind -> [LHsType Name] -> TcM ([TcType], TcKind) Source

tcHsArgTys :: SDoc -> [LHsType Name] -> [Kind] -> TcM [TcType] Source

kindGeneralize :: TyVarSet -> TcM [KindVar] Source

checkKind :: TcKind -> TcKind -> TcM () Source

tcLHsKind :: LHsKind Name -> TcM Kind Source

tcHsPatSigType :: UserTypeCtxt -> HsWithBndrs (LHsType Name) -> TcM (Type, [(Name, TcTyVar)]) Source

tcPatSig :: UserTypeCtxt -> HsWithBndrs (LHsType Name) -> TcSigmaType -> TcM (TcType, [(Name, TcTyVar)], HsWrapper) Source