TcTyClsDecls

ghc-8.4.0.20180204: The GHC API

Safe Haskell | None
Language | Haskell2010

TcTyClsDecls

# Documentation

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

tcAddImplicits :: [TyCon] -> TcM TcGblEnv Source #

kcDataDefn Source #

Arguments

:: 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 :: TyCon -> ([TyConBinder], Type) -> [LConDecl GhcRn] -> TcM [DataCon] Source #

dataDeclChecks :: Name -> NewOrData -> ThetaType -> [LConDecl GhcRn] -> TcM Bool Source #

checkValidTyCon :: TyCon -> TcM () Source #

tcFamTyPats :: TcTyCon -> Maybe ClsInstInfo -> [Name] -> HsTyPats GhcRn -> (TcKind -> TcM ([TcType], TcKind)) -> ([TcTyVar] -> [TcType] -> TcKind -> TcM a) -> TcM a Source #

tcTyFamInstEqn :: TcTyCon -> Maybe ClsInstInfo -> LTyFamInstEqn GhcRn -> TcM CoAxBranch Source #

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

tcMkDataFamInstCtxt :: DataFamInstDecl GhcRn -> SDoc Source #

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

wrongKindOfFamily :: TyCon -> SDoc Source #

dataConCtxt :: Outputable a => a -> SDoc Source #