On Tue, Mar 23, 2004 at 07:35:39AM +1100, Damian Conway wrote:
: However I do think that, now we have C<one> to carry the load of "exists
: uniquely", Larry will probably decide that C<xor> is strictly binary, and
: hence generalizes to the "parity" form in the n-ary case.
Hmm, I probably will. :-)
But I'd like to point out that there's also a view of xor as the negated
form of BASIC's "eqv", and that could be considered a comparison operator,
and as we all know, comparison operators in Perl 6 do chaining. We can
currently write "eqv" like this:
?$a == ?$b == ?$c
which implies that we can write chained "xor" as:
?$a != ?$b != ?$c
Of course, now someone's going to suggest that we should make ?^ a
comparison operator so that you can just say
$a ?^ $b ?^ $c
And then go on to suggest that we also allow chained
$a ?& $b ?& $c
and
$a ?| $b ?| $c
And then they'll say, hey, if ? makes a "true" operator, we should also
have the corresponding "not true" operators, giving us "nand" and "nor"
directly:
$a !& $b !& $c
$a !| $b !| $c
And then this person will point out that BASIC's eqv operator is just:
$a !^ $b !^ $c
And then, before this person can suggest anything else, he will be
taken out and shot. :-)
Larry