ghc-7.0.4: The GHC API

TcHsType

# Documentation

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

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

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

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

tcHsQuantifiedType :: [LHsTyVarBndr Name] -> LHsType Name -> TcM ([TyVar], Type)Source

data UserTypeCtxt Source

Constructors

FunSigCtxt Name |
ExprSigCtxt |
ConArgCtxt Name |
TySynCtxt Name |
GenPatCtxt |
LamPatSigCtxt |
BindPatSigCtxt |
ResSigCtxt |
ForSigCtxt Name |
DefaultDeclCtxt |
SpecInstCtxt |
ThBrackCtxt |
GenSigCtxt |

kcHsTyVars :: [LHsTyVarBndr Name] -> ([LHsTyVarBndr Name] -> TcM r) -> TcM rSource

kcHsSigType :: LHsType Name -> TcM (LHsType Name)Source

kcHsLiftedSigType :: LHsType Name -> TcM (LHsType Name)Source

kcLHsType :: LHsType Name -> TcM (LHsType Name, TcKind)Source

kcCheckLHsType :: LHsType Name -> ExpKind -> TcM (LHsType Name)Source

kcHsContext :: LHsContext Name -> TcM (LHsContext Name)Source

tcHsKindedContext :: LHsContext Name -> TcM ThetaType Source

tcHsKindedType :: LHsType Name -> TcM Type Source

tcHsBangType :: LHsType Name -> TcM Type Source

tcTyVarBndrs :: [LHsTyVarBndr Name] -> ([TyVar] -> TcM r) -> TcM rSource

dsHsType :: LHsType Name -> TcM Type Source

kcHsLPred :: LHsPred Name -> TcM (LHsPred Name)Source

dsHsLPred :: LHsPred Name -> TcM PredType Source

tcDataKindSig :: Maybe Kind -> TcM [TyVar]Source

data ExpKind Source

Constructors

EK TcKind EkCtxt |

data EkCtxt Source

Constructors

EkUnk |
EkEqPred |
EkKindSig |
EkArg SDoc Int |

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

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