Safe Haskell | None |
---|---|
Language | Haskell2010 |
Typecheck type and class declarations
Documentation
tcTyAndClassDecls :: [TyClGroup GhcRn] -> TcM (TcGblEnv, [InstInfo GhcRn], [DerivInfo], ThBindEnv) Source #
tcConDecls :: DataDeclInfo -> KnotTied TyCon -> [TcTyConBinder] -> TcKind -> DataDefnCons (LConDecl GhcRn) -> TcM (DataDefnCons DataCon) Source #
dataDeclChecks :: Name -> Maybe (LHsContext GhcRn) -> DataDefnCons (LConDecl GhcRn) -> TcM Bool Source #
checkValidTyCon :: TyCon -> TcM () Source #
tcTyFamInstEqn :: TcTyCon -> AssocInstInfo -> LTyFamInstEqn GhcRn -> TcM (KnotTied CoAxBranch, TyFamEqnValidityInfo) Source #
tcAddTyFamInstCtxt :: TyFamInstDecl GhcRn -> TcM a -> TcM a Source #
tcAddDataFamInstCtxt :: DataFamInstDecl GhcRn -> TcM a -> TcM a Source #
unravelFamInstPats :: TcType -> [TcType] Source #
addConsistencyConstraints :: AssocInstInfo -> TcType -> TcM () Source #
checkFamTelescope :: TcLevel -> HsOuterFamEqnTyVarBndrs GhcRn -> [TcTyVar] -> TcM () Source #