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.


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.

Last modified 4 months ago Last modified on Jun 23, 2015 10:22:33 AM