Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
:: Maybe (VarEnv Kind) | Possibly, instantiations for vars (associated types only) |
-> DataFamInstDecl GhcRn | |
-> TcKind | the kind of the tycon applied to pats |
-> TcM ([TcType], TcKind) | the kind signature might force instantiation of the tycon; this returns any extra args and the inst'ed kind See Note [Instantiating a family tycon] Used for 'data instance' only Ordinary 'data' is handled by kcTyClDec |
tcConDecls :: KnotTied TyCon -> ([KnotTied TyConBinder], KnotTied Type) -> [LConDecl GhcRn] -> TcM [DataCon] Source #
checkValidTyCon :: TyCon -> TcM () Source #
tcFamTyPats :: TyCon -> Maybe ClsInstInfo -> [Name] -> HsTyPats GhcRn -> (TcKind -> TcM ([TcType], TcKind)) -> ([TcTyVar] -> [TcType] -> TcKind -> TcM a) -> TcM a Source #
tcTyFamInstEqn :: TcTyCon -> Maybe ClsInstInfo -> LTyFamInstEqn GhcRn -> TcM (KnotTied CoAxBranch) Source #
tcAddTyFamInstCtxt :: TyFamInstDecl GhcRn -> TcM a -> TcM a Source #
tcAddDataFamInstCtxt :: DataFamInstDecl GhcRn -> TcM a -> TcM a Source #
wrongKindOfFamily :: TyCon -> SDoc Source #
dataConCtxt :: Outputable a => a -> SDoc Source #