... | ... | @@ -8,7 +8,9 @@ The Overloaded Record Fields family of extensions for GHC allow multiple record |
|
|
|
|
|
For user-facing documentation, see the [GHC user's guide](https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/records.html).
|
|
|
|
|
|
For implementation status, see #18598, the tracking ticket for most recent work related to overloaded record fields, and the ~OverloadedRecordFields, ~DuplicateRecordFields and ~OverloadedLabels labels.
|
|
|
For implementation status, see tickets with the ~OverloadedRecordFields, ~DuplicateRecordFields and ~OverloadedLabels labels. In particular:
|
|
|
* #16232 tracks adding `setField` support and hence finishing `OverloadedRecordUpdate`, which is currently waiting on a ghc-proposal to finalise the design.
|
|
|
* #19461 tracks turning `-Wambiguous-fields` into a hard error, which is blocked on either `OverloadedRecordUpdate` being fully supported or having another alternative name resolution strategy for ambiguous fields.
|
|
|
|
|
|
## GHC proposals and design discussions
|
|
|
|
... | ... | @@ -18,12 +20,12 @@ For implementation status, see #18598, the tracking ticket for most recent work |
|
|
- [NoFieldSelectors](https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0160-no-toplevel-field-selectors.rst) (implemented in GHC 9.2, see !4743)
|
|
|
- [RecordDotSyntax](https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0282-record-dot-syntax.rst) (amended by [ghc-proposals#405](https://github.com/ghc-proposals/ghc-proposals/pull/405) and implemented in GHC 9.2)
|
|
|
- [Unrestricted Overloaded Labels](https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0170-unrestricted-overloadedlabels.rst) (implemented in GHC 9.6, see #11671, !8966)
|
|
|
- [Add warning for incomplete record selectors: proposal #516](https://github.com/adamgundry/ghc-proposals/blob/incomplete-record-selectors/proposals/0000-incomplete-record-selectors.rst) (implemented in GHC 9.10, see #18650, !10736)
|
|
|
|
|
|
## Accepted but not yet (fully) implemented
|
|
|
|
|
|
- [DuplicateRecordFields without ambiguous field access](https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0366-no-ambiguous-field-access.rst) (implemented for fields in GHC 9.2, not yet implemented for updates, see #19461)
|
|
|
- [Adding setField to HasField](https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0042-record-set-field.rst) (pending redesign and implementation, see #16232 and !3257)
|
|
|
- [Add warning for incomplete record selectors: proposal #516](https://github.com/adamgundry/ghc-proposals/blob/incomplete-record-selectors/proposals/0000-incomplete-record-selectors.rst) (accepted but not yet implemented, see #18650)
|
|
|
|
|
|
### Proposed
|
|
|
|
... | ... | |