thoughts on the record update problem

Greg Weber greg at
Thu Mar 8 21:00:40 CET 2012

>> I think it is time to close down the records discussion on the mail
>> list and ask for an implementation
>> The implementer should use any means at their disposal, probably by
>> adding a new construct to the language. However, for now any new
>> constructs or other implementation details should be kept internal so
>> that we can maintain flexibility going forward.
>> A lot of smart people are expending a huge amount of mental effort
>> discussing how to shoehorn this problem into the existing Haskell
>> machinery and the fine details of the best way to do it even though
>> there is still no truly satisfactory solution. I would really like to
>> see this effort instead go into an implementation.
> This attitude is one I can't even begin to understand. How can you implement something before understanding it? What are you going to implement? Trying to "close down discussion" when no conclusion has been reached is not the action of a healthy community!
> Barney.

This discussion has largely centered around trying to come up with a
hack that desugars to Haskell's existing language constructs. What you
are proposing right now may be the most workable solution of that
category, but Java programmers still have it far better. The main
fruit of this discussion is this realization.

There is an alternative to a desugaring hack: add a real record
construct to the language. I don't see how any more discussion on this
mail list is going to make this happen. And there is nothing to
discuss if we hide the implementation details (besides some details of
the exposed interface). What we need now are implementers to do actual
work on this. Let them choose the path they want rather than be
handicapped by us and they can decide if further discussion is needed.

More information about the Glasgow-haskell-users mailing list