On 6/18/05 2:40 PM, Darren Duncan wrote:
> As I recall, it was decided for a broad scope that public and private
> item invocation syntax was exactly the same but with the
> consideration that all private items have a ':' as the first
> character in their otherwise alphanumeric names (the ':' looks like
> part of an operator but it isn't).

Doh!  If that's the case, then your revised table is indeed the place to
start.  I'll throw one more on for good measure.

        PUBLIC      PRIVATE
      ----------  ----------
      ./method()  ./:method()
      [EMAIL PROTECTED]()  .@:method()
      .>method()  .>:method()
      .-method()  .-:method()

I was also thinking about putting something before the . instead of after
it.  That actually makes more sense as a location for a syntax for an
implicit invocant, since the invocant would come before the . too.

Unfortunately, a that syntax is used for member variables and such, so the
usual sigils are out ($ @ %  &), and the rest start to look like unary
operators on method calls implicitly made on $_ (e.g., -.method())

So we're back to the table above, I guess.  I miss .::method(), but of the
above choices I think I'd rank them this way, from best to worst.

        PUBLIC      PRIVATE
      ----------  ----------
      [EMAIL PROTECTED]()  .@:method() # best
      .>method()  .>:method() # .
      .-method()  .-:method() # .
      ./method()  ./:method() # worst

It was a tough battle for last place, but in the end I think - even is a
nicer placeholder for an implicit "something."  I just can't get over the
path-y-ness of ./ (not to mention the division-y-ness)

-John


Reply via email to