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.
The plan is to merge these branches shortly after the release of GHC 7.8, so power users can try out the extension and we can refine the design. The extension should be stable and available for general use in GHC 7.10.
The extension was implemented in 2013 as a Google Summer of Code project, by Adam Gundry under the mentorship of Simon Peyton Jones.