Records in Haskell

Greg Weber greg at
Sat Feb 25 00:14:50 CET 2012

Sorry for getting offended!

I agree with your sentiment, which is why I thought having to write an
extra word in a Record declaration to get automatic abstraction over
fields was a good solution to the problem.

But now I am in the position of being the lone dissenter on automatic
abstraction over fields. And I am in disagreement with SPJ, and I
would gladly drop this entire process and just ask him to be a
benevolent dictator on the subject.

So I am ok with automatic abstraction over fields. Ideally we should
have a way to disable it, just as I was proposing we have a way to
enable it. But perhaps having this will help force a solution to the
circular references issues that makes automatic field abstraction
problematic in the first place. After all, Haskell did start with
barely any way to do IO.

On Fri, Feb 24, 2012 at 2:26 PM, Barney Hilken <b.hilken at> wrote:
> I'm sorry Greg, I didn't mean to be offensive. I just feel that all your arguments in favour of this restriction are based on one particular application of records, rather than a general notion of what records are. Obviously this application is what motivates you to do all the valuable work you have done, and I appreciate that. But people are going to use records in many different ways, and I don't think that a restriction which makes perfect sense in your application should be allowed to restrict the ways other people want to write programs.
> Barney.

More information about the Glasgow-haskell-users mailing list