ghc-7.8.20140130: The GHC API

Safe HaskellNone
LanguageHaskell98

BuildTyCl

Synopsis

Documentation

buildSynTyConSource

Arguments

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

Kind of the RHS

-> TyConParent 
-> TcRnIf m n TyCon 

buildAlgTyConSource

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 DataConSource

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

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.