... | ... | @@ -3,8 +3,10 @@ |
|
|
|
|
|
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](records/overloaded-record-fields/design)
|
|
|
- [Redesigned variant involving three extensions](records/overloaded-record-fields/redesign) (being implemented as of March 2015)
|
|
|
- [Redesigned variant involving three extensions](records/overloaded-record-fields/redesign)
|
|
|
|
|
|
- Part 1: [DuplicateRecordFields](records/overloaded-record-fields/duplicate-record-fields)
|
|
|
- Part 2: [OverloadedLabels](records/overloaded-record-fields/overloaded-labels)
|
|
|
- [Notes on the implementation](records/overloaded-record-fields/implementation)
|
|
|
- [ Adam Gundry's blog post](http://www.well-typed.com/blog/2015/03/overloadedrecordfields-revived/)
|
|
|
|
... | ... | @@ -13,14 +15,9 @@ Content previously on this page has been moved to the [SORF](records/overloaded- |
|
|
|
|
|
## Code
|
|
|
|
|
|
|
|
|
See [ Phab:D761](https://phabricator.haskell.org/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](https://github.com/adamgundry/ghc), [ packages-base](https://github.com/adamgundry/packages-base) and [ haddock](https://github.com/adamgundry/haddock) have been superseded.
|
|
|
|
|
|
|
|
|
A [ prototype implementation](https://github.com/adamgundry/records-prototype) 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.
|
|
|
- [ Phab:D761](https://phabricator.haskell.org/D761) (merged): `DuplicateRecordFields` extension
|
|
|
- [ Phab:D1331](https://phabricator.haskell.org/D1331) (being worked on): `OverloadedLabels` extension
|
|
|
- A [ prototype implementation](https://github.com/adamgundry/records-prototype) of an early design is also available.
|
|
|
|
|
|
## History
|
|
|
|
... | ... | @@ -29,5 +26,6 @@ The extension was implemented in 2013 as a Google Summer of Code project, by Ada |
|
|
|
|
|
- [Simple Overloaded Record Fields (SORF)](records/overloaded-record-fields/sorf), Simon PJ's original proposal
|
|
|
- [Declared Overloaded Record Fields (DORF)](records/declared-overloaded-record-fields), a counterpoint proposal by Anthony Clayden
|
|
|
- [Original design of the extension](records/overloaded-record-fields/design)
|
|
|
- [Discussion of the problem and possible solutions](records)
|
|
|
- [ Google Summer of Code project details](http://www.google-melange.com/gsoc/project/google/gsoc2013/adamgundry/4766932662222848) |
|
|
\ No newline at end of file |