Overloaded record fields

Dominique Devriese dominique.devriese at cs.kuleuven.be
Wed Jun 26 14:15:41 CEST 2013


I think it's a good idea to push forward on the records design because
it seems futile to hope for an ideal consensus proposal.

The only thing I dislike though is that dot notation is special-cased to
record projections.  I would prefer to have dot notation for a
general, very tightly-binding reverse application, and the type of the record
selector for a field f changed to "forall r t. r { f :: t } => r -> t"
instead of
"SomeRecordType -> t".  Such a general reverse application dot would
allow things like "string.toUpper" and for me personally, it would
make a Haskell OO library that I'm working on more elegant...

But I guess you've considered such a design and decided against it,
perhaps because of the stronger backward compatibility implications of
changing the selectors' types?

Dominique

2013/6/24 Adam Gundry <adam.gundry at strath.ac.uk>:
> Hi everyone,
>
> I am implementing an overloaded record fields extension for GHC as a
> GSoC project. Thanks to all those who gave their feedback on the
> original proposal! I've started to document the plan on the GHC wiki:
>
> http://hackage.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/Plan
>
> If you have any comments on the proposed changes, or anything is unclear
> about the design, I'd like to hear from you.
>
> Thanks,
>
> Adam Gundry
>
> _______________________________________________
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at haskell.org
> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users



More information about the Glasgow-haskell-users mailing list