ghc-7.4.2: The GHC API

Safe HaskellNone

BuildTyCl

Synopsis

Documentation

buildSynTyConSource

Arguments

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

Kind of the RHS

-> TyConParent 
-> Maybe (TyCon, [Type])

family instance if applicable

-> TcRnIf m n TyCon 

buildAlgTyConSource

Arguments

:: Name 
-> [TyVar]

Kind variables adn type variables

-> ThetaType

Stupid theta

-> AlgTyConRhs 
-> RecFlag 
-> Bool

True = was declared in GADT syntax

-> TyConParent 
-> Maybe (TyCon, [Type])

family instance if applicable

-> TcRnIf m n TyCon 

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

mkNewTyConRhs :: Name -> TyCon -> DataCon -> TcRnIf m n AlgTyConRhsSource

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.