Thom Boyer wrote:
Now, I think that
$x.foo
is a method call, even if there's a postfix:<foo> declaration in scope.
And that's a problem, because, no matter what precedence postfix:<foo>
was given,
1,2,3.foo
is still going to mean
1, 2, (3.foo)
instead of the desired
postfix:<foo>(1,2,3)
The way I wrote that, it sounds like I think postfix:<foo> isn't a
method call, but of course it is.
What I really meant to say is that, in
1,2,3.foo
the precedence of foo gets changed to the precedence of dot. I don't
actually know that that is true. Is it?
And does dot always do that? If it does, then something odd happens.
Consider infix:<*> and postfix:<!>, where infix:<*> binds tighter than
postfix:<+>, and both bind more loosely than dot. Then
1 * 2! # means (1 * 2)!
1 * 2.! # means 1 * (2!)
Methinks one or more of my assumptions is erroneous, 'cuz that's just
too ugly to live.
=thom