Records in Haskell

Barney Hilken b.hilken at
Fri Feb 24 23:00:03 CET 2012

> This should be used to generate
> internal constraints and not be exposed to the end user and not
> automatically abstract over fields.

Every one of your messages about records stresses your dislike for polymorphic projections, and your insistence that the Has class should be hidden from the user. I've read all of your explanations, but I'm still totally unconvinced. All your arguments about the semantics of labels are based on the way you want to use them, not on what they are. They are projection functions! Semantically, the only difference between them is the types. Polymorphism makes perfect sense and is completely natural. There is nothing "untyped" about it.

I feel you are pushing a narrow personal agenda here. I think the Has class would be useful to programmers and no harder to understand than other Haskel classes. It should not be hidden.


More information about the Glasgow-haskell-users mailing list