in reply to Re^4: 'xor' operator is not a sibling to 'or' and 'and'?
in thread 'xor' operator is not a sibling to 'or' and 'and'?
There are only two default scalars 1 and ""/0 (i.e. !!1 and !!0) in case a Boolean result needs to be generated, like when using not (sic)
The extra behaviour of and/or to return the last evaluated side is closely related to short circuiting, and will by definition lead to a appropriate scalar again.
AFAIK is this feature boroughed from C, but can't be possibly extended to not or even xor
That's easily proven by translating xor to a term based on and/or, since this can't be done without not
A xor B := ( A and not B) or ( B and not A)
Besides inconsistencies it's also not well defined, because the two sides of the and/or terms can be swapped (commutativity)
Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery
FootballPerl is like chess, only without the dice
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^6: 'xor' operator is not a sibling to 'or' and 'and'?
by rsFalse (Chaplain) on Dec 28, 2019 at 14:03 UTC | |
by LanX (Saint) on Dec 28, 2019 at 17:06 UTC |