
On Wed, Dec 28, 2011 at 3:34 PM, Donn Cave
On Wed, Dec 28, 2011 at 2:12 PM, Donn Cave
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
Quoth Greg Weber
, 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