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