known? (value -- isKnown)value: Current stack value tested by the preferred knownness predicate.isKnown: Known Cond result that is TRUE when the current stack value is fully known at compile time.known? is the preferred public name of the current stack-value knownness predicate. It tests whether the current stack value is fully known at compile time.
This predicate follows the referenced target for known non-NIL Ref values. It tests compile-time knownness only. Forgotten-contents state and current stability do not by themselves determine the result. Current stack Code values produced by user-visible creation paths such as codeRef, exportFunction, and block assignment to Code still report FALSE. This includes callable non-NIL Code values reached through those paths and known NIL Code values.
In-place value reports TRUE.In-place value whose concrete contents have been forgotten, for example by dynamic, reports FALSE.known? tests whether the referenced target is fully known, not merely whether a non-NIL Ref value exists on the stack.NIL Ref value to an unknown target reports FALSE.NIL Text values report TRUE, while known NIL and unknown Text values report FALSE.TRUE.Code values produced by those user-visible creation paths report FALSE, including callable non-NIL and known NIL Code values.{} 0 {} [
knownValue: 7;
unknownValue: 0 dynamic;
unknownText: 0 ("") dynamic @;
codeLocal: {} () {} codeRef;
[] !codeLocal
"-- In-place values --" printCompilerMessage
7 known? printStack _:;
7 isDynamic printStack _:;
7 stable? printStack _:;
unknownValue known? printStack _:;
unknownValue isDynamic printStack _:;
unknownValue stable? printStack _:;
"-- references ask about the target too --" printCompilerMessage
@knownValue known? printStack _:;
@unknownValue known? printStack _:;
0nx knownValue addressToReference known? printStack _:;
"-- text, meta, code --" printCompilerMessage
"hi" known? printStack _:;
0nx "" addressToReference known? printStack _:;
unknownText known? printStack _:;
() known? printStack _:;
{} () {} codeRef known? printStack _:;
{} () {} codeRef dynamic known? printStack _:;
@codeLocal known? printStack _:;
0
] "main" exportFunction
-- In-place values --
TRUE
FALSE
TRUE
FALSE
TRUE
TRUE
-- references ask about the target too --
TRUE
FALSE
FALSE
-- text, meta, code --
TRUE
FALSE
FALSE
TRUE
FALSE
FALSE
FALSE
dynamic builtin (value -- dynamicValue) Current stack-value forgotten-contents conversion.isDirty builtin (value -- isDirty) Current stack-value instability predicate; exact opposite of stable?.isDynamic builtin (value -- isDynamic) Current stack-value forgotten-contents predicate; same predicate as unknownStable?.isStatic builtin (value -- isKnown) Historical name of the same current stack-value knownness predicate.stable? builtin (value -- isStable) Current stack-value stability predicate; exact opposite of isDirty.unknownStable? builtin (value -- isUnknownStable) Current stack-value forgotten-contents predicate; same predicate as isDynamic.