Larry~

On 4/6/06, Larry Wall <[EMAIL PROTECTED]> wrote:
> On Thu, Apr 06, 2006 at 01:58:55PM -0400, Matt Fowles wrote:
> : All~
> :
> : I just noticed something claiming that C<$a. foo()> is actually
> : C<$a.foo()> (a method call on C<$a>) and that C<$a .foo()> is actually
> : C<$a $_.foo()> (likely a syntax error).
> :
> : When did this change?  Why did this change?
>
> It changed at the last hackathon, but is still being debated, mostly
> on #perl6.  The current S02 "early dot" rule is likely being abandoned,
> but we don't know for what yet.  The reason is that term/operator
> lexer state is interacting badly with inconsistent retroactive
> whitespace cancellation.
>
> : Also, I liked it better when C<$a .foo()> was a method call on C<$a>.
>
> Sure, that one might be obvious, but quick, tell me what these mean:
>
>     say .bar
>     say .()
>     say .1
>     when .bar
>     when .()
>     when .1
>     foo .bar
>     foo .()
>     foo .1
>     .foo .bar
>     .foo .()
>     .foo .1
>
> I'd rather have a rule you don't have to think about so hard.  To me
> that implies something simple that let's you put whitespace *into*
> a postfix without violating the "postfixes don't take preceding
> whitespace" rule.

That makes a good deal of sense.  I don't know what I would like more,
so I guess that I will wait till a more firm consensus is reached.

Matt
--
"Computer Science is merely the post-Turing Decline of Formal Systems Theory."
-Stan Kelly-Bootle, The Devil's DP Dictionary

Reply via email to