I vote for a separate namespace for record access functions. To me a gameID in one record is always the same gameID in another record and having to add prefixes to each access field sucks when records number in the hundreds :-(.

My users now have to deal with tiGameID, blahBlahGameID, etc. and they are all the same.

My previous big project was in Erlang and it uses more or less the same approach to records as they are hacked on top of tuples. They _are_ tuples in Erlang and you can access fields with element(x, mytuple).

Still, record labels in Erlang are not considered global functions. They are just... lables which makes a whole lot of sense and simplifies ones work immensely!

        Thanks, Joel /who has just coded about 250 packets as records/

On Nov 17, 2005, at 1:46 PM, David Roundy wrote:

On Thu, Nov 17, 2005 at 10:03:00AM +0100, Ketil Malde wrote:
2)  Improving Haskell support for records.

Right - the problem is that nobody seems to agree exactly how to do
this.  I like the fact that record access looks like (is?) a simple
function application, and conversely, dislike that the record update
syntax is different.

Whereas I take the opposite approach. The simple function application is often a bad function--one that may return bottom--and I'd rather be able to place hedges around dangerous functions like that. In contrast, pattern matching is safe. Record update (on the third hand) is unsafe, but uses
similar syntax to pattern matching.  It's a mess.  The whole namespace
issue only exists for record access functions, which is a feature that I'd
prefer to have dropped from the language anyways.

--
http://wagerlabs.com/





_______________________________________________
Haskell mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to