and (leftOperand rightOperand -- combinedValue)leftOperand: Left operand of the logical or bitwise operation.rightOperand: Right operand of the logical or bitwise operation.combinedValue: AND result in the operand schema.and 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 and runs, both operands are already on the data stack.
FALSE and the identity value is TRUE.{} () {} [
"-- no short-circuit cond --" printCompilerMessage
"-- left operand --" printCompilerMessage FALSE
"-- right operand --" printCompilerMessage TRUE
and printStack _:;
"-- cond --" printCompilerMessage
TRUE TRUE and printStack _:;
TRUE FALSE and printStack _:;
unknownCond: FALSE dynamic;
FALSE unknownCond and printStack _:;
TRUE unknownCond and printStack _:;
"-- nat32 masks --" printCompilerMessage
0xF0n32 0xCCn32 and printStack _:;
0xFFFFFFFFn32 0xCCn32 and printStack _:;
0n32 0xCCn32 and printStack _:;
unknownNat: 0n32 dynamic;
0n32 unknownNat and printStack _:;
0xFFFFFFFFn32 unknownNat and printStack _:;
"-- int32 bitwise --" printCompilerMessage
-1 6 and printStack _:;
6 3 and printStack _:;
] "main" exportFunction
-- no short-circuit cond --
-- left operand --
-- right operand --
FALSE
-- cond --
TRUE
FALSE
FALSE
Cond
-- nat32 masks --
192n32
204n32
0n32
0n32
Nat32
-- int32 bitwise --
6
2
lshift builtin (value shiftCount -- shiftedValue) Performs a bitwise left shift on a Whole value and keeps the same schema.or builtin (leftOperand rightOperand -- combinedValue) Combines two Cond or Whole values with bitwise or logical OR semantics.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.