Safe Haskell | Safe-Infered |
---|
- type HsLocalBinds id = HsLocalBindsLR id id
- data HsLocalBindsLR idL idR
- = HsValBinds (HsValBindsLR idL idR)
- | HsIPBinds (HsIPBinds idR)
- | EmptyLocalBinds
- type HsValBinds id = HsValBindsLR id id
- data HsValBindsLR idL idR
- = ValBindsIn (LHsBindsLR idL idR) [LSig idR]
- | ValBindsOut [(RecFlag, LHsBinds idL)] [LSig Name]
- type LHsBind id = LHsBindLR id id
- type LHsBinds id = LHsBindsLR id id
- type HsBind id = HsBindLR id id
- type LHsBindsLR idL idR = Bag (LHsBindLR idL idR)
- type LHsBindLR idL idR = Located (HsBindLR idL idR)
- data HsBindLR idL idR
- = FunBind { }
- | PatBind { }
- | VarBind {
- var_id :: idL
- var_rhs :: LHsExpr idR
- var_inline :: Bool
- | AbsBinds {
- abs_tvs :: [TyVar]
- abs_ev_vars :: [EvVar]
- abs_exports :: [ABExport idL]
- abs_ev_binds :: TcEvBinds
- abs_binds :: LHsBinds idL
- data ABExport id = ABE {}
- placeHolderNames :: NameSet
- pprLHsBinds :: (OutputableBndr idL, OutputableBndr idR) => LHsBindsLR idL idR -> SDoc
- pprLHsBindsForUser :: (OutputableBndr idL, OutputableBndr idR, OutputableBndr id2) => LHsBindsLR idL idR -> [LSig id2] -> [SDoc]
- pprDeclList :: [SDoc] -> SDoc
- emptyLocalBinds :: HsLocalBindsLR a b
- isEmptyLocalBinds :: HsLocalBindsLR a b -> Bool
- isEmptyValBinds :: HsValBindsLR a b -> Bool
- emptyValBindsIn, emptyValBindsOut :: HsValBindsLR a b
- emptyLHsBinds :: LHsBindsLR idL idR
- isEmptyLHsBinds :: LHsBindsLR idL idR -> Bool
- plusHsValBinds :: HsValBinds a -> HsValBinds a -> HsValBinds a
- getTypeSigNames :: HsValBinds a -> NameSet
- ppr_monobind :: (OutputableBndr idL, OutputableBndr idR) => HsBindLR idL idR -> SDoc
- pprTicks :: SDoc -> SDoc -> SDoc
- data HsIPBinds id = IPBinds [LIPBind id] TcEvBinds
- isEmptyIPBinds :: HsIPBinds id -> Bool
- type LIPBind id = Located (IPBind id)
- data IPBind id = IPBind (IPName id) (LHsExpr id)
- type LSig name = Located (Sig name)
- data Sig name
- = TypeSig [Located name] (LHsType name)
- | GenericSig [Located name] (LHsType name)
- | IdSig Id
- | FixSig (FixitySig name)
- | InlineSig (Located name) InlinePragma
- | SpecSig (Located name) (LHsType name) InlinePragma
- | SpecInstSig (LHsType name)
- type LFixitySig name = Located (FixitySig name)
- data FixitySig name = FixitySig (Located name) Fixity
- data TcSpecPrags
- type LTcSpecPrag = Located TcSpecPrag
- data TcSpecPrag = SpecPrag Id HsWrapper InlinePragma
- noSpecPrags :: TcSpecPrags
- hasSpecPrags :: TcSpecPrags -> Bool
- isDefaultMethod :: TcSpecPrags -> Bool
- isFixityLSig :: LSig name -> Bool
- isVanillaLSig :: LSig name -> Bool
- isTypeLSig :: LSig name -> Bool
- isSpecLSig :: LSig name -> Bool
- isSpecInstLSig :: LSig name -> Bool
- isPragLSig :: LSig name -> Bool
- isInlineLSig :: LSig name -> Bool
- hsSigDoc :: Sig name -> SDoc
- overlapHsSig :: Eq a => LSig a -> LSig a -> Bool
- ppr_sig :: OutputableBndr name => Sig name -> SDoc
- pragBrackets :: SDoc -> SDoc
- pprVarSig :: Outputable id => [id] -> SDoc -> SDoc
- pprSpec :: Outputable id => id -> SDoc -> InlinePragma -> SDoc
- pprTcSpecPrags :: TcSpecPrags -> SDoc
Documentation
type HsLocalBinds id = HsLocalBindsLR id idSource
data HsLocalBindsLR idL idR Source
HsValBinds (HsValBindsLR idL idR) | |
HsIPBinds (HsIPBinds idR) | |
EmptyLocalBinds |
Typeable2 HsLocalBindsLR | |
(Data idL, Data idR) => Data (HsLocalBindsLR idL idR) | |
(OutputableBndr idL, OutputableBndr idR) => Outputable (HsLocalBindsLR idL idR) |
type HsValBinds id = HsValBindsLR id idSource
data HsValBindsLR idL idR Source
ValBindsIn (LHsBindsLR idL idR) [LSig idR] | |
ValBindsOut [(RecFlag, LHsBinds idL)] [LSig Name] |
Typeable2 HsValBindsLR | |
(Data idL, Data idR) => Data (HsValBindsLR idL idR) | |
(OutputableBndr idL, OutputableBndr idR) => Outputable (HsValBindsLR idL idR) |
type LHsBinds id = LHsBindsLR id idSource
type LHsBindsLR idL idR = Bag (LHsBindLR idL idR)Source
FunBind | FunBind is used for both functions Reason 1: Special case for type inference: see Reason 2: Instance decls can only have FunBinds, which is convenient. If you change this, you'll need to change e.g. rnMethodBinds But note that the form |
| |
PatBind | |
| |
VarBind | |
| |
AbsBinds | |
|
Typeable2 HsBindLR | |
(Data idL, Data idR) => Data (HsBindLR idL idR) | |
(OutputableBndr idL, OutputableBndr idR) => Outputable (HsBindLR idL idR) |
Typeable1 ABExport | |
Data id => Data (ABExport id) | |
OutputableBndr id => Outputable (ABExport id) |
pprLHsBinds :: (OutputableBndr idL, OutputableBndr idR) => LHsBindsLR idL idR -> SDocSource
pprLHsBindsForUser :: (OutputableBndr idL, OutputableBndr idR, OutputableBndr id2) => LHsBindsLR idL idR -> [LSig id2] -> [SDoc]Source
pprDeclList :: [SDoc] -> SDocSource
isEmptyLocalBinds :: HsLocalBindsLR a b -> BoolSource
isEmptyValBinds :: HsValBindsLR a b -> BoolSource
emptyLHsBinds :: LHsBindsLR idL idRSource
isEmptyLHsBinds :: LHsBindsLR idL idR -> BoolSource
plusHsValBinds :: HsValBinds a -> HsValBinds a -> HsValBinds aSource
getTypeSigNames :: HsValBinds a -> NameSetSource
ppr_monobind :: (OutputableBndr idL, OutputableBndr idR) => HsBindLR idL idR -> SDocSource
Typeable1 HsIPBinds | |
Data id => Data (HsIPBinds id) | |
OutputableBndr id => Outputable (HsIPBinds id) |
isEmptyIPBinds :: HsIPBinds id -> BoolSource
Implicit parameter bindings.
Typeable1 IPBind | |
Data id => Data (IPBind id) | |
OutputableBndr id => Outputable (IPBind id) |
TypeSig [Located name] (LHsType name) | |
GenericSig [Located name] (LHsType name) | |
IdSig Id | |
FixSig (FixitySig name) | |
InlineSig (Located name) InlinePragma | |
SpecSig (Located name) (LHsType name) InlinePragma | |
SpecInstSig (LHsType name) |
Typeable1 Sig | |
Data name => Data (Sig name) | |
OutputableBndr name => Outputable (Sig name) |
type LFixitySig name = Located (FixitySig name)Source
Typeable1 FixitySig | |
Data name => Data (FixitySig name) | |
Outputable name => Outputable (FixitySig name) |
data TcSpecPrags Source
type LTcSpecPrag = Located TcSpecPragSource
data TcSpecPrag Source
isFixityLSig :: LSig name -> BoolSource
isVanillaLSig :: LSig name -> BoolSource
isTypeLSig :: LSig name -> BoolSource
isSpecLSig :: LSig name -> BoolSource
isSpecInstLSig :: LSig name -> BoolSource
isPragLSig :: LSig name -> BoolSource
isInlineLSig :: LSig name -> BoolSource
ppr_sig :: OutputableBndr name => Sig name -> SDocSource
pragBrackets :: SDoc -> SDocSource
pprVarSig :: Outputable id => [id] -> SDoc -> SDocSource
pprSpec :: Outputable id => id -> SDoc -> InlinePragma -> SDocSource