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 latest code is on the wip/orf-new branch 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. 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.

Last modified 2 weeks ago Last modified on May 14, 2015 1:54:18 PM