|  > Could we please have lightweight extensible records for Haskell (as
|  > in the paper by (Mark|Simon Peyton) Jones in the 1999 Haskell
|  > Workshop).
| 
| Seconded.
| 
| Symmetric record catenation, as opposed to extensibility by one field
| at a time, would make the Haskell even nicer for database work.
| AFAICS it's the best way to type a relational join.
| 
| On the assumption that noone wants symmetric record catenation more
| than I, I'm in the process(*) of formulating it as an addition to Mark
| Jones's "Typing Haskell in Haskell".

That's a very constructive approach.

I'm not (currently) planning to implement extensible records very soon,
at least partly because there seems some hope that using 'has' predicates
rather than 'lacks' predicates may let us support first class labels.
But there's foundational work to be done before we know.  The Haskell
Workshop proposal also implied breaking existing programs. That's fine for
an agreed change, but less fine for experimental features.  And it's quite a
bit of work. The combination of these three factors saps our motivation.  

As ever, if anyone would like to implement exensible records, GHC's source
code
is available.  E.g. Jeff Lewis has implemented functional dependencies
and implicit parameters.

I'm not describing a settled position here -- just trying to explain why
nothing is happening at the moment at GHC HQ.  If everyone puts it at the
top of their list
(tell Sven) it'll get more important.

Simon

Reply via email to