TcHsType

ghc-7.0.4: The GHC API

TcHsType

# Documentation

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

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

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

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

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

data UserTypeCtxt

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 r

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

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

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

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

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

tcHsKindedContext :: LHsContext Name -> TcM ThetaType

tcHsKindedType :: LHsType Name -> TcM Type

tcHsBangType :: LHsType Name -> TcM Type

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

dsHsType :: LHsType Name -> TcM Type

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

dsHsLPred :: LHsPred Name -> TcM PredType

tcDataKindSig :: Maybe Kind -> TcM [TyVar]

data ExpKind

Constructors

EK TcKind EkCtxt |

data EkCtxt

Constructors

EkUnk |
EkEqPred |
EkKindSig |
EkArg SDoc Int |

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

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