OverloadedRecordFields extension for GHC will allow multiple record datatypes to share the same field names, and make it possible for type information to disambiguate them. For more information, see:
- GHC proposal for OverloadedRecordFields (2016 - most up to date)
- Redesigned variant involving three extensions (2015)
- Original design (2013)
Content previously on this page has been moved to the SORF page.
- DuplicateRecordFields + TemplateHaskell
- Fixity of field-deconstructors incorrect
- Infix declarations for record fields with DuplicateRecordFields are broken
- Interaction between ORF and record pattern synonyms needs to be resolved.
- Auto complete in ghci shows $sel:function:Type for DuplicateRecordFields fields
- Regression using NamedFieldPuns with qualified field names
- DuplicateRecordFields appears not to work in GHCi
- RebindableSyntax and OverloadedLabels
- UnboxedTuple makes overloaded labels fail to parse
- unused-top-binds wrongly warns about underscore-prefixed field names when DuplicateRecordFields enabled
- Compilation fails with a panic: get_op runContT
Add ORF to the ticket's keywords to include it in these lists.
- Phab:D761, Phab:D1391, Phab:D1486, Phab:D1586, Phab:D1600:
- Phab:D1331, Phab:D1623:
- Phab:D1687: magic classes
- Prototype implementation of the magic typeclasses
The extension was implemented in 2013 as a Google Summer of Code project, by Adam Gundry under the mentorship of Simon Peyton Jones.