Cascade semantics change
Lee Salzman
lsalzman1 at cox.net
Tue Mar 15 15:55:34 PST 2005
Rather, you mean, for any statement within a cascaded block:
Before, only the message at the root of the syntax tree , if its first
argument was implicit, would be retargeted to the source of the cascade.
Now, the leftmost message (or bottom leftmost leaf of the syntax tree),
if its first argument is implicit, will be retargeted to the source of
the cascade.
Lee
Brian Rice wrote:
> After some consideration, Lee and I have enacted a change to `>> so
> that some unexpected behavior is made sensible, but this removes a
> grammatical possibility.
>
> The problem is in an expression such as this:
>
> [| bar |
> bar: something else.
> some Expression `>> [foo bar. bar baz: quux. ]
> ].
>
> Previously, baz: would be the top-level expression, so it would be
> sent to the cascade argument, and you would get all sorts of confusing
> errors, since you thought that you were sending bar first to the
> cascade, and then baz: to that result with quux as the other argument.
>
> So, now, `>> has been corrected in its semantics so that /all/ leading
> unary context sends are treated as messages to the cascade
> expression's result. In order to refer to bar now, you /must/ refer to
> it in a non-top-level expression.
>
> --
> Brian T. Rice
> LOGOS Research and Development
> http://tunes.org/~water/
>
>
More information about the Slate
mailing list