GHC.Tc.TyCl

ghc-9.4.0.20220501: 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 :: NewOrData -> TcKind -> [LConDecl GhcRn] -> TcM () Source #

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

data DataDeclInfo Source #

Constructors

DDataType |
DDataInstance Type |

dataDeclChecks :: Name -> NewOrData -> Maybe (LHsContext GhcRn) -> [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 #