TcHsType

ghc-7.6.3: The GHC API

Safe Haskell | None

TcHsType

# Documentation

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

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

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

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

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

data UserTypeCtxt

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 |

kcTyClTyVars :: Name -> LHsTyVarBndrs Name -> (TcKind -> TcM a) -> TcM a

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

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

tcDataKindSig :: Kind -> TcM [TyVar]

tcClassSigType :: LHsType Name -> TcM Type

kcHsTyVarBndrs :: Bool -> LHsTyVarBndrs Name -> ([TcKind] -> TcM r) -> TcM r

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

tcHsLiftedType :: LHsType Name -> TcM TcType

tcHsOpenType :: LHsType Name -> TcM TcType

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

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

tcHsContext :: LHsContext Name -> TcM [PredType]

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

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

data ExpKind

Constructors

EK TcKind SDoc |

Instances

Outputable ExpKind |

ekConstraint :: ExpKind

expArgKind :: SDoc -> TcKind -> Int -> ExpKind

checkExpectedKind :: Outputable a => a -> TcKind -> ExpKind -> TcM ()

kindGeneralize :: TyVarSet -> [Name] -> TcM [KindVar]

tcLHsKind :: LHsKind Name -> TcM Kind

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

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