On 5/15/05, Juerd <[EMAIL PROTECTED]> wrote:
> Autrijus Tang skribis 2005-05-15 19:28 (+0800):
> > On Sun, May 15, 2005 at 01:19:53PM +0200, Juerd wrote:
> > > Or was your choice of words poor, and did you not mean to discuss the
> > > dot's *default*, but instead a standard way to write the current
> > > invocant?
> > I think what Rob suggested is that:
> >     method ($foo)
> > means
> >     method ($self: $foo)
> Then I hereby apologise to Rob for my own poor choice of words.
> I don't like the idea of having a normal identifier ever used by
> default, except $_, which is already aliased to the invocant.

Autrijus is much more eloquent that (apparently) I can ever hope to
be. Thank you.

If I understand correctly, we're discussing what should happen if you
do something like .method($foo) within another method and if there
should be shorthand way of writing whatever it is.

Right now, P6 has $?SELF and I'm saying that instead of using $?SELF,
we should use $self wherever $?SELF would be used. $_ is still the
topic and would be the default invocant if you have .method($foo).
What I'm saying is that you can have

method ( Int foo ) {
    $self.otherMethod( foo );

and it will DWIM. Just like Java, C++, and Javascript. (Yes, I'm using
JS as part of my argument.)

If you have
method ( Int foo ) {
    .otherMethod( foo );

That would be
method ( Int foo ) {
    $_.otherMethod( foo );

Just like expected.


Reply via email to