On 3 Sep 2009, at 23:33 , Greg Ewing wrote: Xavier Morel wrote:
Methods yes (and that's one of the few Smalltalk design "features" I consider truly dumb, considering it has message cascading)
Cascading is something different -- it's for sending multiple messages to the *same* receiver. It's not dumb to have both.
I know what cascading is for. The issue is that with message cascading + the "yourself" message, you *never* need to chain on self (you can just cascade and -- if you end up needing the instance to drop down at the end of the cascade -- send `yourself`).
Chaining on self is completely redundant in smalltalk as the purpose of this pattern is *also* to send a sequence of messages to the same receiver (something message cascading already handles & guarantees).
Therefore defaulting method to self-chaining is very dumb and serves no purpose whatsoever. It doesn't make the language easier to use, less verbose or more practical. It just wastes return values.