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:
Content previously on this page has been moved to the SORF page.
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. See notes for GHC hackers on the current status of the code.
The extension was implemented in 2013 as a Google Summer of Code project, by Adam Gundry under the mentorship of Simon Peyton Jones.