TcTyClsDecls

ghc-8.6.3: The GHC API

Safe Haskell | None
Language | Haskell2010

TcTyClsDecls

# Documentation

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

kcDataDefn #

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

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

checkValidTyCon :: TyCon -> TcM () #

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

tcTyFamInstEqn :: TcTyCon -> Maybe ClsInstInfo -> LTyFamInstEqn GhcRn -> TcM (KnotTied CoAxBranch) #

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

tcMkDataFamInstCtxt :: DataFamInstDecl GhcRn -> SDoc #

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

wrongKindOfFamily :: TyCon -> SDoc #

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