[Haskell] (small) records proposal for Haskell '06

Sebastian Sylvan sebastian.sylvan at gmail.com
Mon Jan 2 10:14:48 EST 2006

On 1/2/06, David Roundy <droundy at abridgegame.org> wrote:
> Hi all,
> I'd like to humbly submit a conservative proposal for changes to the
> records mechanism for Haskell '06.  The plan for Haskell '06 (to the extent
> that there is one) is to make it a conservative modification of Haskell
> 98, which is a good idea.  As such, I don't think features should be added
> to the language that haven't been both implemented and tested, and the
> problem with the whole records problem is that pretty much every proposed
> improvement is *not* backwards-compatible with Haskell 98, and therefore
> hasn't been either implemented or tried out.

First of all, I do think your proposal is better than the current
situation, but only marginally so.

I know I'm probably in the minority here, but I think the current
Haskell records system is so horribly broken that it's basically
impossible to end up with something worse, regardless of which of the
existing records proposals you go with. And I agree strongly with Joel
Reymont and others who basically say that one of the largest obstacles
for Haskell being used in the "real world" is its records system.
So personally I think that there should be some careful consideration
(and implementation, of course) of the records proposals and then just
make an educated "guess" as to which would work best in practice and
go with it. All of the existing proposals are a lot better than the
existing mechanism, even if they're not "optimal".

Yes I know H'06 is supposed to be mainly a standardization of existing
extensions, but as I said, the records system is so broken that I for
one think its "fix" should be accelerated even to the point of
including a brand new feature into an otherwise conservative
standardisation process.
You could view H'06 as the "practice run" for a next-gen records
mechanism to be considered for Haskell 2.0.

Sebastian Sylvan
UIN: 44640862

More information about the Haskell mailing list