Safe Haskell | None |
---|
TcHsType
Documentation
tcHsSigType :: UserTypeCtxt -> LHsType Name -> TcM Type
tcHsSigTypeNC :: UserTypeCtxt -> LHsType Name -> TcM Type
tcHsInstHead :: UserTypeCtxt -> LHsType Name -> TcM ([TyVar], ThetaType, Class, [Type])
data UserTypeCtxt
kcTyClTyVars :: Name -> LHsTyVarBndrs Name -> (TcKind -> TcM a) -> TcM a
tcTyClTyVars :: Name -> LHsTyVarBndrs Name -> ([TyVar] -> Kind -> TcM a) -> TcM a
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
tcHsContext :: LHsContext Name -> TcM [PredType]
tcInferApps :: Outputable a => a -> TcKind -> [LHsType Name] -> TcM ([TcType], TcKind)
expArgKind :: SDoc -> TcKind -> Int -> ExpKind
checkExpectedKind :: Outputable a => a -> TcKind -> ExpKind -> TcM ()
kindGeneralize :: TyVarSet -> [Name] -> TcM [KindVar]
tcHsPatSigType :: UserTypeCtxt -> HsWithBndrs (LHsType Name) -> TcM (Type, [(Name, TcTyVar)])
tcPatSig :: UserTypeCtxt -> HsWithBndrs (LHsType Name) -> TcSigmaType -> TcM (TcType, [(Name, TcTyVar)], HsWrapper)