= (leftValue rightValue -- isEqual)leftValue: Left value in the comparison.rightValue: Right value in the comparison.isEqual: Cond result that is TRUE when the dereferenced values are equal, and unknown when equality cannot be decided at compile time.= compares dereferenced values by value equality.
Supported inputs are values whose dereferenced schemas are same-schema Cond, numeric, or non-NIL Text.
= answers a different question from is and same. Use is for identity-like equality and same for dereferenced schema identity.
FALSE.= return TRUE even when is returns FALSE.NIL Text input is invalid.{} 0 {} [
condValue: TRUE dynamic;
first: 7;
second: 7;
numberValue: 0 dynamic;
textValue: 0 ("") dynamic @;
"-- cond --" printCompilerMessage
TRUE TRUE = printStack _:;
TRUE FALSE = printStack _:;
condValue TRUE = printStack _:;
"-- numbers compare by value --" printCompilerMessage
7 7 = printStack _:;
7 8 = printStack _:;
"-- references are dereferenced first --" printCompilerMessage
@first @second = printStack _:;
@first @second is printStack _:;
"-- unknown int32 --" printCompilerMessage
numberValue 7 = printStack _:;
"-- text --" printCompilerMessage
"alpha" "alpha" = printStack _:;
"alpha" "beta" = printStack _:;
"-- unknown text --" printCompilerMessage
textValue "alpha" = printStack _:;
0
] "main" exportFunction
-- cond --
TRUE
FALSE
Cond
-- numbers compare by value --
TRUE
FALSE
-- references are dereferenced first --
TRUE
FALSE
-- unknown int32 --
Cond
-- text --
TRUE
FALSE
-- unknown text --
Cond
< builtin (leftValue rightValue -- isLess) Tests whether the left dereferenced value is less than the right one for supported same-schema numeric or known Text values.> builtin (leftValue rightValue -- isGreater) Tests whether the left dereferenced value is greater than the right one for supported same-schema numeric or known Text values.is builtin (leftValue rightValue -- isIdentityLike) Tests identity-like equality for references, Text, and Code values of the same dereferenced schema; In-place values of the same schema still give FALSE.same builtin (leftSchema rightSchema -- isSameSchema) Tests whether two dereferenced schemas are exactly the same; this is schema equality only, not runtime-value equality.