Safe Haskell | None |
---|
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 HsTupleSort [LHsType name] | |
HsOpTy (LHsType name) (LHsTyOp name) (LHsType name) | |
HsParTy (LHsType name) | |
HsIParamTy (IPName name) (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] | |
HsWrapTy HsTyWrapper (HsType name) |
Instances
Typeable1 HsType | |
Data name => Data (HsType name) | |
OutputableBndr name => Outputable (HsType name) |
data HsTyVarBndr name
Constructors
UserTyVar name PostTcKind | |
KindedTyVar name (LHsKind name) PostTcKind |
Instances
Typeable1 HsTyVarBndr | |
Data name => Data (HsTyVarBndr name) | |
OutputableBndr name => Outputable (HsTyVarBndr name) |
type LHsTyVarBndr name = Located (HsTyVarBndr name)
data HsTupleSort
Instances
data HsExplicitFlag
Instances
type LHsContext name = Located (HsContext 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 | |
HsNoUnpack |
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 :: Monad m => HsTyVarBndr name1 -> name2 -> (LHsKind name1 -> m (LHsKind name2)) -> m (HsTyVarBndr name2)
replaceLTyVarName :: Monad m => LHsTyVarBndr name1 -> name2 -> (LHsKind name1 -> m (LHsKind name2)) -> m (LHsTyVarBndr name2)
hsTyVarKind :: HsTyVarBndr name -> Kind
hsLTyVarKind :: LHsTyVarBndr 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_maybe :: HsType name -> Maybe ([LHsTyVarBndr name], HsContext name, name, [LHsType name])
splitLHsInstDeclTy_maybe :: LHsType name -> Maybe ([LHsTyVarBndr name], HsContext name, Located name, [LHsType name])
splitHsForAllTy :: HsType name -> ([LHsTyVarBndr name], HsContext name, HsType name)
splitLHsForAllTy :: LHsType name -> ([LHsTyVarBndr name], HsContext 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 -> [LHsTyVarBndr name] -> LHsContext name -> SDoc
pprHsContext :: OutputableBndr name => HsContext name -> SDoc
ppr_hs_context :: OutputableBndr name => HsContext name -> SDoc