The OverloadedRecordFields extension for GHC allows multiple record datatypes to share the same field names, and uses type information to disambiguate them. For more information, see:
- Original design of the extension
- Redesigned variant involving three extensions (being implemented as of March 2015)
- Notes on the implementation
- Adam Gundry's blog post
Content previously on this page has been moved to the SORF page.
See Phab:D761 for the first part of the latest implementation. The latest code is on the wip/orf-* branches of the ghc and haddock development repositories. The forks of ghc, packages-base and haddock have been superseded.
A prototype implementation of the design is also available.
The design has mostly stabilised, but there is still some work to do on the implementation. We aim to merge in the summer of 2015.
The extension was implemented in 2013 as a Google Summer of Code project, by Adam Gundry under the mentorship of Simon Peyton Jones.