Records in Haskell
Simon Peyton-Jones
simonpj at microsoft.com
Mon Nov 7 14:21:46 CET 2011
| would inclusion of such a record system into GHC mean that plans for
| first-class labels (<http://tinyurl.com/7fppj32>) are abandoned? That
| would be a pity, since first-class labels are very useful to implement
| record systems that go beyond what the abovementioned record system
| provides. See, for example, my work on records:
| <http://www.informatik.tu-cottbus.de/~jeltsch/research/ppdp-2010-paper.pdf>
| <http://hackage.haskell.org/package/records>
The story is summarised at
http://hackage.haskell.org/trac/ghc/wiki/Records
First-class labels are one point in the vast swamp of competing and overlapping proposals for records. I think they are summarise here:
http://hackage.haskell.org/trac/ghc/wiki/ExtensibleRecords
I am unsure which of this list of proposals you are referring to. The URL you quote is this
http://hackage.haskell.org/trac/haskell-prime/wiki/FirstClassLabels
but it doesn't seem to actually contain a design, merely some options for a design that is implicit. If you do have a design you advocate, it would be good to add it to the list at
http://hackage.haskell.org/trac/ghc/wiki/ExtensibleRecords
perhaps explaining which of the other members of the list it subsumes.
Because there are so many proposals I have not gone ahead with any of them. The most recent thread, articulated at
http://hackage.haskell.org/trac/ghc/wiki/Records
is to ask what is the *smallest change* that would solve the *most pressing problem*, namely the inability to use the same field name in different records. First class labels is (I assume) much more ambitious. But maybe not.
Anything you can do to bring clarity to the swamp, by editing the above two pages, would be a great service to the community. At the moment, we are stuck in an infinite loop.
Simon
More information about the Glasgow-haskell-users
mailing list