... | ... | @@ -9,7 +9,7 @@ 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 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.
|
|
|
* #16232 tracks adding `setField` support and hence finishing `OverloadedRecordUpdate`, which is currently waiting on implementation of a ghc-proposal.
|
|
|
* #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
|
... | ... | @@ -25,13 +25,13 @@ For implementation status, see tickets with the ~OverloadedRecordFields, ~Duplic |
|
|
## 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)
|
|
|
- [Adding setField to HasField](https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0042-record-set-field.rst), redesigned by [`HasField` redesign: split into two classes](https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0583-hasfield-redesign.rst) (accepted but not yet implemented, see #16232)
|
|
|
|
|
|
|
|
|
### Proposed
|
|
|
|
|
|
- [Relaxing `HasField` constraints](https://github.com/ocharles/ghc-proposals/blob/hasfield/proposals/0000-hasfield-incoherence.rst) (being revised)
|
|
|
- [Disambiguating record updates using type signatures](https://github.com/adamgundry/ghc-proposals/blob/disambiguating-record-updates-using-type-signatures/proposals/0000-disambiguating-record-updates-using-type-signatures.rst) (under discussion)
|
|
|
- [`HasField` redesign: split into two classes](https://github.com/adamgundry/ghc-proposals/blob/hasfield-redesign/proposals/0000-hasfield-redesign.rst) (under discussion)
|
|
|
|
|
|
|
|
|
### Drafts
|
... | ... | |