On Wed, Jul 12, 2006 at 08:40:53AM -0400, Aaron Sherman wrote:
: Smylers wrote:
: >[EMAIL PROTECTED] commits:
: >
: >
: >>New Revision: 10077
: >>Modified: doc/trunk/design/syn/S02.pod
:
>>==
: >>
: >>-foo.bar# foo().bar -- postfix prevents args
: >>+foo.bar# foo().bar -- illegal postfix, must use
: >>foo().bar
: >> foo .bar # foo($_.bar) -- no postfix starts with
: >> whitespace
: >>
: >
: >I don't think it makes much sense to start the comments with an
: >alternate form for the expressions now denoted as illegal -- "here's
: >some other syntax which this used to be the same as but it no longer is"
: >probably only confuses the casual reader.
: >
:
: On a side note, does that apply only to expressions that start with an
: identifier, or does that mean that:
:
:$socket.accept.getlines
:
: will have to be:
:
:$socket.accept().getlines
:
: ?
No, this is only list operators, not methods. So
$socket.accept.getlines
is fine, but
foo.accept.getlines
is not, unless foo is predeclared 0-ary.
But I am tempted to extend it to keywords like "else" and "sub" as
well, because any foo{} confusion is going to train people not to
think about ...{} as a subscript when they should think about it
whenever there's a lack of whitespace. It would be nice if :foo{}
were the only exception to that.
For similar reasons, I'm also tempted to say that if() is always a
function call, because it looks like one.
Larry