Larry wrote:
> : > > use invocant 'self';
>
> Hmm. My first inclination is to say it should be something like:
>
> macro self { '%MY.frame.arg[0]' }
>
> But suppose you want all .foo to refer to self and not to the current
> topic. It would be problematic to have a macro whose name is "".
> So you might say something like this:
>
> use invocant "";
>
> Still a bit odd syntactically, however.
Perhaps a bare:
use invocant;
overrides unary dot within the lexical scope, causing it to default to using
each method's @_[0], rather than $_.
> One is vaguely tempted to make
>
> ..foo(1)
>
> mean self.foo(1). But then we'd see methods chock full of *that* even
> when it wasn't necessary. Much rather see self.foo(1).
Yep. Besides, since we're working towards having the unary version of operators
vaguely related to the binary version in Perl 6 (e.g. unary C<_>, unary C<+>,
unary C<.>), it would seem counterproductive to have unary C<..> utterly
unrelated to binary C<..>.
> Fortunately, Igority is transitive...
I thought that was maxim was: "Igorance is blithth".
Damian