xor
Builtin index · Collections & strings
result = xor(a, b)
Input: a, b · Output: result
What it is
a and b are any values, read by whole-value truthiness.
Overloads
One call shape — this function is not overloaded.
| Code | Input | Output | Description |
result = xor(a, b) | a —not documented yetb —not documented yet | result bool | Returns a bool: logical XOR, non-short-circuit like and/or. |
Examples
From the documentation, and run by the build -- the output and the figure below are what the engine actually produced. Simplest first.
flags = bitand(12, 10) # 8 -- bits common to both
print(flags)
print(bitor(12, 10)) # 14
print(bitxor(12, 10)) # 6
print(bitcmp(0)) # -1
print(bitshift(1, 4)) # 16 -- left shift
print(bitshift(16, -2)) # 4 -- right shift
print(xor(true, false)) # true
print(nand(true, true)) # false
print(nor(false, false)) # true
print(hex2dec("FF")) # 255
print(dec2hex(255)) # "FF"
print(bin2dec("1010")) # 10
print(dec2bin(10)) # "1010"
output
8 14 6 -1 16 4 true false true 255 FF 10 1010
from collections-strings
How it works
Boolean connectives beyond and/or/not (spec §13). Same whole-value-truthiness, non-short-circuit semantics as and/ or (both arguments are already evaluated by the time any builtin call runs, so there's nothing to short-circuit).
From the note above this builtin in the interpreter, where the reasoning was written down as it was built.