Comment #6 on issue 2190 by [email protected]: at:put: return the argument
http://code.google.com/p/pharo/issues/detail?id=2190

Note that bitAt:put: is ANSI, and that it won't modify the receiver but return a copy.
We cannot change it, no way.

I would say let's do it for #at:put: then discuss about the other ones in another issue if you want.
I advocate consistency because of least surprising effect...

The first time this was really usefull to me was for translating this DSL:
  d := a[i] := b[j] := c := 3;
into:
  d := a at: i put: (b at: j put: (c := 3)).
This also provides a Rationale for original st-80 design.

Of course, you then have to explain #yourself to noobs with such implementation, but that's not that difficult to explain, and i find it worth.



Reply via email to