> Wow, I just skimmed the messages section in the blue book and you're right. > I think this is an omission and that it should be specified that keyword > message receiver and arguments are evaluated strictly left-to-right. I don't > know of a Smalltalk implementation that doesn't evaluate in this order.
This doesn't sound right. I don't know whether I can dig out a reference quickly or not, but I learned that precedence *within* the [ unary -> binary -> keyword ] is actually right to left, not left to right. a := b := c := d := 4 executes right-to-left. Other than humans generally read from left-to-right, are there other reasons it should run left-to-right in other contexts?
