Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type FieldLabelString = FastString
- type FieldLabelEnv = FastStringEnv FieldLabel
- data FieldLbl a = FieldLabel {
- flLabel :: FieldLabelString
- flIsOverloaded :: Bool
- flSelector :: a
- type FieldLabel = FieldLbl Name
- mkFieldLabelOccs :: FieldLabelString -> OccName -> Bool -> FieldLbl OccName
Documentation
type FieldLabelString = FastString Source
Field labels are just represented as strings; they are not necessarily unique (even within a module)
type FieldLabelEnv = FastStringEnv FieldLabel Source
A map from labels to all the auxiliary information
Fields in an algebraic record type
FieldLabel | |
|
type FieldLabel = FieldLbl Name Source
mkFieldLabelOccs :: FieldLabelString -> OccName -> Bool -> FieldLbl OccName Source
Record selector OccNames are built from the underlying field name and the name of the first data constructor of the type, to support duplicate record field names. See Note [Why selector names include data constructors].