or (leftOperand rightOperand -- combinedValue)leftOperand: Left operand of the logical or bitwise operation.rightOperand: Right operand of the logical or bitwise operation.combinedValue: OR result in the operand schema.or accepts same-schema Cond, Nat, and Int values. Both inputs are dereferenced and must be non-NIL. The result keeps that schema.
This is not short-circuit control flow. By the time or runs, both operands are already on the data stack.
FALSE and the dominating value is TRUE.{} () {} [
"-- no short-circuit cond --" printCompilerMessage
"-- left operand --" printCompilerMessage TRUE
"-- right operand --" printCompilerMessage FALSE
or printStack _:;
"-- cond --" printCompilerMessage
FALSE TRUE or printStack _:;
FALSE FALSE or printStack _:;
unknownCond: FALSE dynamic;
TRUE unknownCond or printStack _:;
FALSE unknownCond or printStack _:;
"-- nat32 masks --" printCompilerMessage
0xF0n32 0x0Cn32 or printStack _:;
0xFFFFFFFFn32 0x0Cn32 or printStack _:;
0n32 0x0Cn32 or printStack _:;
unknownNat: 0n32 dynamic;
0xFFFFFFFFn32 unknownNat or printStack _:;
0n32 unknownNat or printStack _:;
"-- int32 bitwise --" printCompilerMessage
-1 6 or printStack _:;
6 3 or printStack _:;
] "main" exportFunction
-- no short-circuit cond --
-- left operand --
-- right operand --
TRUE
-- cond --
TRUE
FALSE
TRUE
Cond
-- nat32 masks --
252n32
4294967295n32
12n32
4294967295n32
Nat32
-- int32 bitwise --
-1
7
and builtin (leftOperand rightOperand -- combinedValue) Combines two Cond or Whole values with bitwise or logical AND semantics.lshift builtin (value shiftCount -- shiftedValue) Performs a bitwise left shift on a Whole value and keeps the same schema.rshift builtin (value shiftCount -- shiftedValue) Performs a bitwise right shift on a Whole value and keeps the same schema.xor builtin (leftOperand rightOperand -- combinedValue) Combines two Cond or Whole values with logical exclusive-OR or bitwise XOR semantics.~ builtin (value -- invertedValue) Performs logical NOT for Cond or bitwise complement for a Whole value.