ghc-7.8.1: The GHC API

Safe HaskellNone
LanguageHaskell98

BuildTyCl

Synopsis

Documentation

buildSynTyCon Source

Arguments

:: Name 
-> [TyVar] 
-> [Role] 
-> SynTyConRhs 
-> Kind

Kind of the RHS

-> TyConParent 
-> TcRnIf m n TyCon 

buildAlgTyCon Source

Arguments

:: Name 
-> [TyVar]

Kind variables and type variables

-> [Role] 
-> Maybe CType 
-> ThetaType

Stupid theta

-> AlgTyConRhs 
-> RecFlag 
-> Bool

True = this TyCon is promotable

-> Bool

True = was declared in GADT syntax

-> TyConParent 
-> TyCon 

buildDataCon :: FamInstEnvs -> Name -> Bool -> [HsBang] -> [Name] -> [TyVar] -> [TyVar] -> [(TyVar, Type)] -> ThetaType -> [Type] -> Type -> TyCon -> TcRnIf m n DataCon Source

buildPatSyn :: Name -> Bool -> Bool -> [Var] -> [TyVar] -> [TyVar] -> ThetaType -> ThetaType -> Type -> TyVar -> TcRnIf m n PatSyn Source

mkNewTyConRhs :: Name -> TyCon -> DataCon -> TcRnIf m n AlgTyConRhs Source

Monadic because it makes a Name for the coercion TyCon We pass the Name of the parent TyCon, as well as the TyCon itself, because the latter is part of a knot, whereas the former is not.