Joe Gottman writes: > 2) Do all of the xor variants have the property that chained calls > return true if exactly one input parameter is true?
I would imagine not. C<xor> is spelled out, and by definition XOR returns parity. On the other hand, the junctive ^ (one()) is exactly one. > > 3) Is there an ASCII digraph for the | operator? No. Just use C<zip>. > 4) Do "==" and "!=" participate in chained comparisons, so that $a == > $b == $c evaluates to true if and only if all three are equal? Yes. But not really. It evaluates true if $a == $b and $b == $c (while only evaluating $b once). This may not be the same as all three being equal if $a, $b, and $c are objects whose equality isn't transitive. > Is $x > $y < $z a legal chaining? Or $x < $y lt $z? Sure. It (rather confusingly) asks whether $y is less than both $x and $z. The latter is too, and it's equivalent to: $x < +$y and ~$y lt $z > 5) Would it be possible for me to create a user-defined operator that > does chaining? Yes. You just have to be clever about your return values. A comparison operator could return its right argument C<but true> or C<but false>. To get them to short circuit is exactly the same problem as getting other user-defined operators to short circuit, something that's been adressed but I don't remember the answer to. Luke