Re: Punning: Don't fix what ain't broken.

1998-02-12 Thread Andreas Rossberg

Tommy Thorn wrote:
 
 Koen Claessen:
  This brings us to another issue. Doesn't the following definition look
  a bit awkward?
 
R{ x = x }
 
 Definitely wierd.  The left and right-hand side denotes two different
 things, which AFAIK is the only place where `=' behaves like this.
 Wouldn't `-' have been a better choice?  `-' bindings are never
 recursive, thus `R{ x - x } is less surprising, as the two x's can't
 be the same.


What about using constructor syntax: R{ X x } ?

Not to be taken too seriously...

- Andreas





Re: Punning: Don't fix what ain't broken.

1998-02-12 Thread Tommy Thorn

Koen Claessen:
 This brings us to another issue. Doesn't the following definition look
 a bit awkward? 
 
   R{ x = x }

Definitely wierd.  The left and right-hand side denotes two different
things, which AFAIK is the only place where `=' behaves like this.
Wouldn't `-' have been a better choice?  `-' bindings are never
recursive, thus `R{ x - x } is less surprising, as the two x's can't
be the same.

It would be worth taking into account if completely revising the
record handling of Haskell, but in itself it's too small a gain to be
worthwhile.

My humble opinion,
  Tommy