OverloadedRecordFields status update
ggreif at gmail.com
Mon Sep 9 15:53:11 UTC 2013
On 9/9/13, Adam Gundry <adam.gundry at strath.ac.uk> wrote:
> 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?
No, I mean ConstraintKinds, I assume all the Has* constraints have
kind 'Constraint' ?
(I strongly assume so).
>>> I would really appreciate comments on the design , 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.
Okay. Thanks for the answers,
>>> a prototype implementation  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 .
>>>  https://github.com/adamgundry/records-prototype
>>>  https://github.com/adamgundry/ghc
>>>  https://github.com/adamgundry/packages-base
More information about the ghc-devs