Records in Haskell

Ryan Newton rrnewton at
Tue Jan 3 06:55:56 CET 2012

On Thu, Dec 29, 2011 at 12:00 PM, Simon Peyton-Jones
<simonpj at>wrote:

> | The lack of response, I believe, is just a lack of anyone who
> | can cut through all the noise and come up with some
> | practical way to move forward in one of the many possible
> | directions.
> You're right.

There are a few tens of thousands of Haskell programmers now, right?

I think a significant fraction of them would in fact appreciate the basic
dot syntax and namespace-fixes that TDNR proposed.

I fear that record-packages-as-libraries are unlikely to be used by a large
number of people.  Are they now?  I love do-it-in-the-language as a
principle, but I've watched it really impair the Scheme community with
respect to many language features.  (Recall your experiences, if you've had
them, with homebrew Scheme OOP systems.)  It seems hard for non-standard
language extensions to gain wide use.  Though, to be fair, Haskell's basic
types have a history of being replaced by widely accepted alternatives
(Vector, ByteString).

In spite of its limitations, was there that much of a negative response to
Simon's more recent proposal?


This is a great bang-for-the-buck proposal; it leverages the existing
multiparameter type classes in a sensible way.

I admit I'm a big fan of polymorphic extension.  But I don't love it enough
for it to impede progress!

Regarding extension:  In trying to read through all this material I don't
see a lot of love for "lacks" constraints a la TRex.  As one anecdote, I've
been very pleased using Daan Leijen's scoped labels approach.  I
implemented it for my embedded stream processing DSL (WaveScript) and wrote
>10K lines of application code with it.  I never once ran into a bug
resulting from shadowed/duplicate fields!


> But it is very telling that the vast majority of responses on
> were not about the subject (leadership) but rather on suggesting yet more,
> incompletely-specified solutions to the original problem.  My modest
> attempt to build a consensus by articulating the simplest solution I could
> think of, manifestly failed.
> The trouble is that I just don't have the bandwidth (or, if I'm honest,
> the motivation) to drive this through to a conclusion. And if no one else
> does either, perhaps it isn't *that* important to anyone.  That said, it
> clearly is *somewhat* important to a lot of people, so doing nothing isn't
> very satisfactory either.
> Usually I feel I know how to move forward, but here I don't.
> Simon
> _______________________________________________
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Glasgow-haskell-users mailing list