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