On Wed, Dec 28, 2011 at 3:34 PM, Donn Cave <donn@avvanta.com> wrote:
Quoth Greg Weber <greg@gregweber.info>,
> On Wed, Dec 28, 2011 at 2:12 PM, Donn Cave <donn@avvanta.com> 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@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users