On Tue, 29 Oct 2002, Michael Lazzaro wrote:
: > @x [+]= @y;
:
: I guess that's OK looking, tho either is fine with me.
My only syntactic quibble with [+] is that it's officially ambiguous
when it's a unary operator:
@a = [+]@b
could also be the start of
@a = [+1, +2, +3]
Or worse:
sub x;
@a = [x]@b;
Except there isn't a unary C<x>.
But I don't think that's a real problem. The other potential problem
is that we might get a bit of visual interference with real subscripts like
@a[1.. :2] [+] @b[1]
But that's probably okay. Another trouble spot is
@a = [-][1,2,3,4,5];
That's not a problem with builtins, but what about
sub foo ();
sub prefix:foo ($x);
@a = [foo][1,2,3,4,5];
And how soon till someone asks for
@a = {$_ * 2}[1,2,3,4,5];
I kinda like the possibility of distinction between [+]= and [+=],
even if there isn't one really.
my Dog @a [.]= new;
is also a bit clever.
As for getting back to ^ with xor, that's also pretty okay by me.
Oh, another thing in favor of [+] is that it's also a good place
to require a space before an infix
: However, I think we now need to vectorpause and hear from the
: eigenLarry (that is, let the superpositions of Larry collapse to a
: discrete state), before we superget ourselves too worked up on our
: eigensolution, here.
I like "eigenstates" about as much as Damian likes "X".
Larry