Records in Haskell

Greg Weber greg at
Wed Dec 28 19:47:28 CET 2011

On Wed, Dec 28, 2011 at 3:34 PM, Donn Cave <donn at> wrote:

> Quoth Greg Weber <greg at>,
> > On Wed, Dec 28, 2011 at 2:12 PM, Donn Cave <donn at> wrote:
> ...
> >> I would think row polymorphism is a must-have.
> >>
> >
> > Perhaps if you want *extensible* records. If you would like to make some
> > progress with records in the near future rather than keeping records in
> > limbo, I think we really need to give up for the moment on any higher
> form
> > of abstraction than straight-forward name-spacing.
> No, to be clear on that, I haven't given much thought to extensibility
> per se, I was thinking row polymorphism is a valuable feature on its own,
> and extensibility just seemed to me to be an implicit side benefit.
> In principle, a "less is more" approach to language features appeals to me
> a lot, but not to the point where we just preemptively give up on "any
> higher form of abstraction".  Given the potential for backwards
> incompatibility, you'd want to have something pretty good to show for it.

This is a valid concern. The goal I think we should have is to just to get
a release with simple name-spacing resulting in module-like dot notation
member selection plus a similar easy syntax for updates. Every extensible
records solution I have seen wants this plus some other features.
Admittedly I don't understand any of the extensible solutions, so if you
can come up with a specific example of backwards incompatibility that would
be very useful.

>        Donn
> _______________________________________________
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Glasgow-haskell-users mailing list