ghc-7.10.0.20141222: The GHC API

Safe HaskellNone
LanguageHaskell2010

HsTypes

Synopsis

Documentation

type LHsType name

Arguments

 = Located (HsType name)

May have AnnKeywordId : AnnComma when in a list

type HsKind name = HsType name

type LHsKind name = Located (HsKind name)

type HsTyOp name = (HsTyWrapper, name)

type LHsTyOp name = HsTyOp (Located name)

data HsTyVarBndr name

Instances

DataId name => Data (HsTyVarBndr name) 
OutputableBndr name => Outputable (HsTyVarBndr name) 
Typeable (* -> *) HsTyVarBndr 

type LHsTyVarBndr name = Located (HsTyVarBndr name)

data LHsTyVarBndrs name

Constructors

HsQTvs 

Fields

hsq_kvs :: [Name]
 
hsq_tvs :: [LHsTyVarBndr name]
 

Instances

data HsWithBndrs name thing

Constructors

HsWB 

Fields

hswb_cts :: thing
 
hswb_kvs :: PostRn name [Name]
 
hswb_tvs :: PostRn name [Name]
 
hswb_wcs :: PostRn name [Name]
 

Instances

(Data name, Data thing, Data (PostRn name [Name])) => Data (HsWithBndrs name thing) 
Outputable thing => Outputable (HsWithBndrs name thing) 
Typeable (* -> * -> *) HsWithBndrs 

type HsContext name = [LHsType name]

type LHsContext name = Located (HsContext name)

data HsQuasiQuote id

Instances

data HsTyWrapper

Constructors

WpKiApps [Kind] 

newtype HsIPName

These names are used early on to store the names of implicit parameters. They completely disappear after type-checking.

Constructors

HsIPName FastString 

type LBangType name = Located (BangType name)

type BangType name = HsType name

data ConDeclField name

Instances

DataId name => Data (ConDeclField name) 
Typeable (* -> *) ConDeclField 

type LConDeclField name

Arguments

 = Located (ConDeclField name)

May have AnnKeywordId : AnnComma when in a list

isHsKindedTyVar :: HsTyVarBndr name -> Bool

Does this HsTyVarBndr come with an explicit kind annotation?

hsTvbAllKinded :: LHsTyVarBndrs name -> Bool

Do all type variables in this LHsTyVarBndr come with kind annotations?

hsTyVarName :: HsTyVarBndr name -> name

hsLTyVarName :: LHsTyVarBndr name -> name

hsLTyVarNames :: LHsTyVarBndrs name -> [name]

splitHsClassTy_maybe :: HsType name -> Maybe (name, [LHsType name])

splitHsAppTys :: LHsType n -> [LHsType n] -> (LHsType n, [LHsType n])

mkHsOpTy :: LHsType name -> Located name -> LHsType name -> HsType name

pprHsForAllExtra :: OutputableBndr name => HsExplicitFlag -> Maybe SrcSpan -> LHsTyVarBndrs name -> LHsContext name -> SDoc

Version of pprHsForAll that can also print an extra-constraints wildcard, e.g. _ => a -> Bool or (Show a, _) => a -> String. This underscore will be printed when the 'Maybe SrcSpan' argument is a Just containing the location of the extra-constraints wildcard. A special function for this is needed, as the extra-constraints wildcard is removed from the actual context and type, and stored in a separate field, thus just printing the type will not print the extra-constraints wildcard.