HsTypes
Documentation
data HsType name
Constructors
HsForAllTy HsExplicitFlag [LHsTyVarBndr name] (LHsContext name) (LHsType name) | |
HsTyVar name | |
HsAppTy (LHsType name) (LHsType name) | |
HsFunTy (LHsType name) (LHsType name) | |
HsListTy (LHsType name) | |
HsPArrTy (LHsType name) | |
HsTupleTy Boxity [LHsType name] | |
HsOpTy (LHsType name) (Located name) (LHsType name) | |
HsParTy (LHsType name) | |
HsNumTy Integer | |
HsPredTy (HsPred name) | |
HsKindSig (LHsType name) Kind | |
HsQuasiQuoteTy (HsQuasiQuote name) | |
HsSpliceTy (HsSplice name) FreeVars PostTcKind | |
HsDocTy (LHsType name) LHsDocString | |
HsBangTy HsBang (LHsType name) | |
HsRecTy [ConDeclField name] | |
HsCoreTy Type |
Instances
Typeable1 HsType | |
Data name => Data (HsType name) | |
OutputableBndr name => Outputable (HsType name) |
data HsTyVarBndr name
Constructors
UserTyVar name PostTcKind | |
KindedTyVar name Kind |
Instances
Typeable1 HsTyVarBndr | |
Data name => Data (HsTyVarBndr name) | |
Outputable name => Outputable (HsTyVarBndr name) |
type LHsTyVarBndr name = Located (HsTyVarBndr name)
data HsExplicitFlag
Instances
type LHsContext name = Located (HsContext name)
data HsPred name
Constructors
HsClassP name [LHsType name] | |
HsEqualP (LHsType name) (LHsType name) | |
HsIParam (IPName name) (LHsType name) |
Instances
Typeable1 HsPred | |
Data name => Data (HsPred name) | |
OutputableBndr name => Outputable (HsPred name) |
data HsQuasiQuote id
Constructors
HsQuasiQuote id SrcSpan FastString |
Instances
Typeable1 HsQuasiQuote | |
Data id => Data (HsQuasiQuote id) | |
OutputableBndr id => Outputable (HsQuasiQuote id) |
data HsBang
Constructors
HsNoBang | |
HsStrict | |
HsUnpack | |
HsUnpackFailed |
getBangType :: LHsType a -> LHsType a
getBangStrictness :: LHsType a -> HsBang
data ConDeclField name
Constructors
ConDeclField | |
Fields
|
Instances
Typeable1 ConDeclField | |
Data name => Data (ConDeclField name) |
pprConDeclFields :: OutputableBndr name => [ConDeclField name] -> SDoc
mkExplicitHsForAllTy :: [LHsTyVarBndr name] -> LHsContext name -> LHsType name -> HsType name
mkImplicitHsForAllTy :: LHsContext name -> LHsType name -> HsType name
hsExplicitTvs :: LHsType name -> [name]
hsTyVarName :: HsTyVarBndr name -> name
hsTyVarNames :: [HsTyVarBndr name] -> [name]
replaceTyVarName :: HsTyVarBndr name1 -> name2 -> HsTyVarBndr name2
hsTyVarKind :: HsTyVarBndr name -> Kind
hsTyVarNameKind :: HsTyVarBndr name -> (name, Kind)
hsLTyVarName :: LHsTyVarBndr name -> name
hsLTyVarNames :: [LHsTyVarBndr name] -> [name]
hsLTyVarLocName :: LHsTyVarBndr name -> Located name
hsLTyVarLocNames :: [LHsTyVarBndr name] -> [Located name]
splitHsInstDeclTy :: OutputableBndr name => HsType name -> ([LHsTyVarBndr name], HsContext name, name, [LHsType name])
splitHsFunType :: LHsType name -> ([LHsType name], LHsType name)
type PostTcType = Type
type PostTcKind = Kind
pprParendHsType :: OutputableBndr name => HsType name -> SDoc
pprHsForAll :: OutputableBndr name => HsExplicitFlag -> [LHsTyVarBndr name] -> LHsContext name -> SDoc
pprHsContext :: OutputableBndr name => HsContext name -> SDoc
ppr_hs_context :: OutputableBndr name => HsContext name -> SDoc