Em Qui, 2009-03-12 às 11:49 -0700, Larry Wall escreveu:
> In addition to what Jonathan said, it is possible that the ability
> to coerce multiple arguments depends on the type itself, since we
> probably want to allow Foo(1,2,3) and such for listy types that
> don't necessarily want to use the [1,2,3] shortcut.
> But my main point is that $x = Foo $bar is a two-terms-in-a-row
> error when Foo is anything resembling a type, enum, or value, none
> of which expect to be turned into a listop or prefix. This is
> independent of how the object might respond to (), if at all.
I see, but I insist... isn't it weird that we use the absolutely same
syntax for unrelated meanings?
> Oh, btw, re irc conversation the other day, .() and () are always
> identical in postfix position, just as .++ and ++ are the same.
> The . carries no semantics when qualifying a postfix, even when
> accessing attributes $.foo.() vs $.foo(), which mean exactly the
> same thing because such postfixes are part of the special form.
Just a quick paste for those not following IRC...
<ruoso> so do I always need to use two sets of parens when I'm accessing
an attribute that happens to contain a closure that I want to invoke?