OverloadedRecordFields status update

Adam Gundry adam.gundry at strath.ac.uk
Mon Sep 9 15:38:49 UTC 2013

On 06/09/13 17:45, Gabor Greif wrote:
> On 9/5/13, Adam Gundry <adam.gundry at strath.ac.uk> wrote:
>> I have been working on a new extension, OverloadedRecordFields, and it
>> is now essentially feature-complete. Unfortunately, I doubt it will make
>> it into 7.8, as the changes are quite extensive, but I hope to get it in
>> HEAD soon thereafter.
> That would be great, it appears to be a great example of
> -XConstraintKinds, too!

It relies quite heavily on type-level strings (-XDataKinds), if that's
what you mean?

>> I would really appreciate comments on the design [1], for which there is
> How would such a feature interact with
> http://hackage.haskell.org/package/vinyl ?

The short answer is that it shouldn't. Vinyl (which I wasn't aware of
before now, thanks for the pointer!) basically replaces the Haskell
records system wholesale, making records entirely separate from data
declarations, and turning fields into first-class objects. This should
peaceably coexist with -XOverloadedRecordFields but I don't see a way to
integrate the two.


>     Gabor
>> a prototype implementation [2] that works in GHC 7.6.3. If you'd like to
>> review the code, you can check out the overloaded-record-fields branch
>> from the Github repositories [3, 4], and there are notes on the
>> implementation on the wiki [5].
>> Thanks!
>> Adam
>> [1]
>> http://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/Plan
>> [2] https://github.com/adamgundry/records-prototype
>> [3] https://github.com/adamgundry/ghc
>> [4] https://github.com/adamgundry/packages-base
>> [5]
>> http://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/Implementation

More information about the ghc-devs mailing list