ghc-9.6.3: The GHC API

Safe Haskell | Safe-Inferred
Language | Haskell2010

GHC.Tc.TyCl

Description

Typecheck type and class declarations

# Documentation

tcTyAndClassDecls :: [TyClGroup GhcRn] -> TcM (TcGblEnv, [InstInfo GhcRn], [DerivInfo], ThBindEnv) Source #

kcConDecls :: Foldable f => NewOrData -> TcKind -> f (LConDecl GhcRn) -> TcM () Source #

tcConDecls :: DataDeclInfo -> KnotTied TyCon -> [TcTyConBinder] -> TcKind -> DataDefnCons (LConDecl GhcRn) -> TcM (DataDefnCons DataCon) Source #

data DataDeclInfo Source #

Constructors

DDataType |
DDataInstance Type |

dataDeclChecks :: Name -> Maybe (LHsContext GhcRn) -> DataDefnCons (LConDecl GhcRn) -> TcM Bool Source #

checkValidTyCon :: TyCon -> TcM () Source #

tcFamTyPats :: TyCon -> HsTyPats GhcRn -> TcM (TcType, TcKind) Source #

tcTyFamInstEqn :: TcTyCon -> AssocInstInfo -> LTyFamInstEqn GhcRn -> TcM (KnotTied CoAxBranch) Source #

tcAddTyFamInstCtxt :: TyFamInstDecl GhcRn -> TcM a -> TcM a Source #

tcMkDataFamInstCtxt :: DataFamInstDecl GhcRn -> SDoc Source #

tcAddDataFamInstCtxt :: DataFamInstDecl GhcRn -> TcM a -> TcM a Source #

unravelFamInstPats :: TcType -> [TcType] Source #

addConsistencyConstraints :: AssocInstInfo -> TcType -> TcM () Source #

wrongKindOfFamily :: TyCon -> TcRnMessage Source #

checkFamTelescope :: TcLevel -> HsOuterFamEqnTyVarBndrs GhcRn -> [TcTyVar] -> TcM () Source #