On Sat, Feb 12, 2005 at 12:09:37PM +0800, Autrijus Tang wrote: > [...] > - one() checks its operands for duplicates; if found, it collapses > itself into an empty one() junction, thus failing all tests. > Is this somewhat saner? :-)
Depends on when it's checking its operands for duplicates, and the type of checking being performed. For example, $x = one(0, 0, 1); has duplicate elements (the zeroes) but is still true. Similarly, with $x = one(2, 3, 2); $x = $x % 2; if $x { say "Exactly one odd value"; } collapsing the one(2, 3, 2) to be one() in the first statement would be incorrect. Pm