Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Recently I stumbled once again on the issues of Haskells records, in particular the uniqueness of field names (it's a pain ...)

I already read A proposal for records in Haskell from SPJ and Greg Morrisett but it's last update was 2003.
Another paper Lightweight Extensible Records for Haskell from SPJ and Mark Jones is even older: It's from a Haskell workshop in 1999.

Now I wonder if the process of giving Haskell new records made any progress.
Does anybody know something about it or can point me to some further reading ?

share|improve this question
I'm aware of Records in Haskell too but it doesn't show the discussion about the diffrent approaches. – mmh Sep 11 '12 at 13:55
Everybody agrees that the current records are bad, nobody agrees on exactly what to do instead. In other words, business as usual. If you want further reading, there's certainly no shortage of endless debate on the matter, but I don't have time to dig up links right now... – C. A. McCann Sep 11 '12 at 14:22

My two pennies.

Believe it or not, Haskell is too much used to allow a breaking change with existing software. And it's difficult to add records withoud breaking an important part of the language.

UPDATE: BTW, I think that records are a good new feature. I like the most, not having members names polluting global namespace.

share|improve this answer
Can you clarify what would be broken by adding records? Does every popular proposal involve breaking something? – user39685 Feb 5 '13 at 15:57
The point (compose) operator will be used in most of proposals, so: a.b will be different – Zhen Feb 5 '13 at 16:05
The other issue is that if you add a new record system, you can either get rid of the current one, which would be a breaking change, or have two record systems simultaneously, which would be a mess. I think the a.b issue is less important because A.b already means something different from A . b (thanks to the module system). Sure it's a breaking change, but it's not a particularly bad one. – Tikhon Jelvis Feb 5 '13 at 19:39

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.