Comment #6 on issue 2190 by
[hidden email]: at:put: return the
argument
http://code.google.com/p/pharo/issues/detail?id=2190Note 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.