OverloadedRecordFields status update

Gabor Greif 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 [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.

Okay. Thanks for the answers,

    Gabor


>
> Adam
>
>
>>     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