Safe Haskell | None |
---|---|
Language | Haskell2010 |
Typecheck type and class declarations
Documentation
tcTyAndClassDecls :: [TyClGroup GhcRn] -> TcM (TcGblEnv, [InstInfo GhcRn], [DerivInfo]) Source #
kcConDecls :: NewOrData -> Kind -> [LConDecl GhcRn] -> TcM () Source #
tcConDecls :: NewOrData -> DataDeclInfo -> KnotTied TyCon -> [TyConBinder] -> TcKind -> [LConDecl GhcRn] -> TcM [DataCon] Source #
dataDeclChecks :: Name -> NewOrData -> Maybe (LHsContext GhcRn) -> [LConDecl GhcRn] -> TcM Bool Source #
checkValidTyCon :: TyCon -> TcM () 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 -> SDoc Source #