Safe Haskell | None |
---|
HsTypes
- data HsType name
- = HsForAllTy HsExplicitFlag (LHsTyVarBndrs name) (LHsContext name) (LHsType name)
- | HsTyVar name
- | HsAppTy (LHsType name) (LHsType name)
- | HsFunTy (LHsType name) (LHsType name)
- | HsListTy (LHsType name)
- | HsPArrTy (LHsType name)
- | HsTupleTy HsTupleSort [LHsType name]
- | HsOpTy (LHsType name) (LHsTyOp name) (LHsType name)
- | HsParTy (LHsType name)
- | HsIParamTy HsIPName (LHsType name)
- | HsEqTy (LHsType name) (LHsType name)
- | HsKindSig (LHsType name) (LHsKind name)
- | HsQuasiQuoteTy (HsQuasiQuote name)
- | HsSpliceTy (HsSplice name) FreeVars PostTcKind
- | HsDocTy (LHsType name) LHsDocString
- | HsBangTy HsBang (LHsType name)
- | HsRecTy [ConDeclField name]
- | HsCoreTy Type
- | HsExplicitListTy PostTcKind [LHsType name]
- | HsExplicitTupleTy [PostTcKind] [LHsType name]
- | HsTyLit HsTyLit
- | HsWrapTy HsTyWrapper (HsType name)
- type LHsType name = Located (HsType name)
- type HsKind name = HsType name
- type LHsKind name = Located (HsKind name)
- data HsTyVarBndr name
- = UserTyVar name
- | KindedTyVar name (LHsKind name)
- type LHsTyVarBndr name = Located (HsTyVarBndr name)
- data LHsTyVarBndrs name = HsQTvs {
- hsq_kvs :: [Name]
- hsq_tvs :: [LHsTyVarBndr name]
- data HsWithBndrs thing = HsWB {}
- data HsTupleSort
- data HsExplicitFlag
- type HsContext name = [LHsType name]
- type LHsContext name = Located (HsContext name)
- data HsQuasiQuote id = HsQuasiQuote id SrcSpan FastString
- data HsTyWrapper = WpKiApps [Kind]
- data HsTyLit
- newtype HsIPName = HsIPName FastString
- hsIPNameFS :: HsIPName -> FastString
- type LBangType name = Located (BangType name)
- type BangType name = HsType name
- data HsBang
- = HsNoBang
- | HsStrict
- | HsUnpack
- | HsUnpackFailed
- | HsNoUnpack
- getBangType :: LHsType a -> LHsType a
- getBangStrictness :: LHsType a -> HsBang
- data ConDeclField name = ConDeclField {
- cd_fld_name :: Located name
- cd_fld_type :: LBangType name
- cd_fld_doc :: Maybe LHsDocString
- pprConDeclFields :: OutputableBndr name => [ConDeclField name] -> SDoc
- mkHsQTvs :: [LHsTyVarBndr RdrName] -> LHsTyVarBndrs RdrName
- hsQTvBndrs :: LHsTyVarBndrs name -> [LHsTyVarBndr name]
- mkExplicitHsForAllTy :: [LHsTyVarBndr RdrName] -> LHsContext RdrName -> LHsType RdrName -> HsType RdrName
- mkImplicitHsForAllTy :: LHsContext RdrName -> LHsType RdrName -> HsType RdrName
- hsExplicitTvs :: LHsType name -> [name]
- hsTyVarName :: HsTyVarBndr name -> name
- mkHsWithBndrs :: thing -> HsWithBndrs thing
- hsLKiTyVarNames :: LHsTyVarBndrs Name -> [Name]
- hsLTyVarName :: LHsTyVarBndr name -> name
- hsLTyVarNames :: LHsTyVarBndrs name -> [name]
- hsLTyVarLocName :: LHsTyVarBndr name -> Located name
- hsLTyVarLocNames :: LHsTyVarBndrs name -> [Located name]
- splitLHsInstDeclTy_maybe :: LHsType name -> Maybe (LHsTyVarBndrs name, HsContext name, Located name, [LHsType name])
- splitHsClassTy_maybe :: HsType name -> Maybe (name, [LHsType name])
- splitLHsClassTy_maybe :: LHsType name -> Maybe (Located name, [LHsType name])
- splitHsFunType :: LHsType name -> ([LHsType name], LHsType name)
- splitHsAppTys :: LHsType n -> [LHsType n] -> (LHsType n, [LHsType n])
- mkHsAppTys :: OutputableBndr n => LHsType n -> [LHsType n] -> HsType n
- mkHsOpTy :: LHsType name -> Located name -> LHsType name -> HsType name
- pprParendHsType :: OutputableBndr name => HsType name -> SDoc
- pprHsForAll :: OutputableBndr name => HsExplicitFlag -> LHsTyVarBndrs name -> LHsContext name -> SDoc
- pprHsContext :: OutputableBndr name => HsContext name -> SDoc
- ppr_hs_context :: OutputableBndr name => HsContext name -> SDoc
Documentation
data HsType name
Constructors
HsForAllTy HsExplicitFlag (LHsTyVarBndrs name) (LHsContext name) (LHsType name) | |
HsTyVar name | |
HsAppTy (LHsType name) (LHsType name) | |
HsFunTy (LHsType name) (LHsType name) | |
HsListTy (LHsType name) | |
HsPArrTy (LHsType name) | |
HsTupleTy HsTupleSort [LHsType name] | |
HsOpTy (LHsType name) (LHsTyOp name) (LHsType name) | |
HsParTy (LHsType name) | |
HsIParamTy HsIPName (LHsType name) | |
HsEqTy (LHsType name) (LHsType name) | |
HsKindSig (LHsType name) (LHsKind name) | |
HsQuasiQuoteTy (HsQuasiQuote name) | |
HsSpliceTy (HsSplice name) FreeVars PostTcKind | |
HsDocTy (LHsType name) LHsDocString | |
HsBangTy HsBang (LHsType name) | |
HsRecTy [ConDeclField name] | |
HsCoreTy Type | |
HsExplicitListTy PostTcKind [LHsType name] | |
HsExplicitTupleTy [PostTcKind] [LHsType name] | |
HsTyLit HsTyLit | |
HsWrapTy HsTyWrapper (HsType name) |
Instances
Typeable1 HsType | |
(Typeable (HsType name), Data name) => Data (HsType name) | |
OutputableBndr name => Outputable (HsType name) |
data HsTyVarBndr name
Constructors
UserTyVar name | |
KindedTyVar name (LHsKind name) |
Instances
Typeable1 HsTyVarBndr | |
(Typeable (HsTyVarBndr name), Data name) => Data (HsTyVarBndr name) | |
OutputableBndr name => Outputable (HsTyVarBndr name) |
type LHsTyVarBndr name = Located (HsTyVarBndr name)
data LHsTyVarBndrs name
Constructors
HsQTvs | |
Fields
|
Instances
Typeable1 LHsTyVarBndrs | |
(Typeable (LHsTyVarBndrs name), Data name) => Data (LHsTyVarBndrs name) | |
OutputableBndr name => Outputable (LHsTyVarBndrs name) |
data HsWithBndrs thing
Instances
Typeable1 HsWithBndrs | |
(Typeable (HsWithBndrs thing), Data thing) => Data (HsWithBndrs thing) | |
Outputable thing => Outputable (HsWithBndrs thing) |
data HsTupleSort
Instances
data HsExplicitFlag
Instances
type LHsContext name = Located (HsContext name)
data HsQuasiQuote id
Constructors
HsQuasiQuote id SrcSpan FastString |
Instances
Typeable1 HsQuasiQuote | |
(Typeable (HsQuasiQuote id), Data id) => Data (HsQuasiQuote id) | |
OutputableBndr id => Outputable (HsQuasiQuote id) |
data HsTyLit
Constructors
HsNumTy Integer | |
HsStrTy FastString |
newtype HsIPName
These names are used eary on to store the names of implicit parameters. They completely disappear after type-checking.
Constructors
HsIPName FastString |
hsIPNameFS :: HsIPName -> FastString
data HsBang
Constructors
HsNoBang | |
HsStrict | |
HsUnpack | |
HsUnpackFailed | |
HsNoUnpack |
getBangType :: LHsType a -> LHsType a
getBangStrictness :: LHsType a -> HsBang
data ConDeclField name
Constructors
ConDeclField | |
Fields
|
Instances
Typeable1 ConDeclField | |
(Typeable (ConDeclField name), Data name) => Data (ConDeclField name) |
pprConDeclFields :: OutputableBndr name => [ConDeclField name] -> SDoc
mkHsQTvs :: [LHsTyVarBndr RdrName] -> LHsTyVarBndrs RdrName
hsQTvBndrs :: LHsTyVarBndrs name -> [LHsTyVarBndr name]
mkExplicitHsForAllTy :: [LHsTyVarBndr RdrName] -> LHsContext RdrName -> LHsType RdrName -> HsType RdrName
hsExplicitTvs :: LHsType name -> [name]
hsTyVarName :: HsTyVarBndr name -> name
mkHsWithBndrs :: thing -> HsWithBndrs thing
hsLKiTyVarNames :: LHsTyVarBndrs Name -> [Name]
hsLTyVarName :: LHsTyVarBndr name -> name
hsLTyVarNames :: LHsTyVarBndrs name -> [name]
hsLTyVarLocName :: LHsTyVarBndr name -> Located name
hsLTyVarLocNames :: LHsTyVarBndrs name -> [Located name]
splitLHsInstDeclTy_maybe :: LHsType name -> Maybe (LHsTyVarBndrs name, HsContext name, Located name, [LHsType name])
splitHsClassTy_maybe :: HsType name -> Maybe (name, [LHsType name])
splitLHsClassTy_maybe :: LHsType name -> Maybe (Located name, [LHsType name])
splitHsFunType :: LHsType name -> ([LHsType name], LHsType name)
splitHsAppTys :: LHsType n -> [LHsType n] -> (LHsType n, [LHsType n])
mkHsAppTys :: OutputableBndr n => LHsType n -> [LHsType n] -> HsType n
pprParendHsType :: OutputableBndr name => HsType name -> SDoc
pprHsForAll :: OutputableBndr name => HsExplicitFlag -> LHsTyVarBndrs name -> LHsContext name -> SDoc
pprHsContext :: OutputableBndr name => HsContext name -> SDoc
ppr_hs_context :: OutputableBndr name => HsContext name -> SDoc