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