callField (dict name -- fieldResult)dict: Dict value or Ref to Dict used for field selection.name: Known Text field name used for selection.fieldResult: Result produced by handling the selected field.callField selects one Dict field by known Text name input and then applies the same field-handling semantics as .NAME.
Selection happens inside the builtin from the two data inputs.
NIL Code is invalid.PRE and CALL rules as .NAME, then its CALL field is called.dict was reached mutably."" selects unnamed fields and still follows the same newest-to-oldest candidate order.() is invalid because the first input must dereference to Dict.name when their value is known at compile time.PRE test, the builtin raises a compilation error.When the selected field is called, direct scope lookup inside that call matches .NAME: outer Dict fields are available, self is also available when dict was reached through a Ref, callable field Dict fields are available during PRE and CALL, closure is available for non-Meta non-static callable field Dict values, and direct-name conflicts during CALL favor the callable field Dict.
{} 0 {} [
dict: {
outerValue: 7;
number: 7;
textField: "hi";
metaField: ();
blockField: [
"-- block field --" printCompilerMessage
self.outerValue printStack _:;
];
choice: ["-- fallback --" printCompilerMessage];
choice: {
CALL: ["-- matched --" printCompilerMessage];
PRE: ["-- PRE --" printCompilerMessage FALSE];
};
};
numberName: "number";
choiceName: "choice";
"-- In-place field: callField versus .@NAME --" printCompilerMessage
@dict numberName callField printStack _:;
@dict .@number printStack _:;
"-- text field --" printCompilerMessage
@dict "textField" callField printStack _:;
"-- meta field --" printCompilerMessage
@dict "metaField" callField printStack _:;
@dict "blockField" callField
@dict choiceName callField
0
] "main" exportFunction
-- In-place field: callField versus .@NAME --
7 Cref
7 Ref
-- text field --
"hi"
-- meta field --
()
-- block field --
7 Cref
-- PRE --
-- fallback --
.@NAME node source form Named field read without calling..NAME node source form Named field mention and call if callable.@ builtin (ordinal structValue -- selectedItem) Ordinal-based data-input selection and read with the ordinal before the Struct value. Callable items are read, not called.fieldRead builtin (structValue ordinal -- selectedItem) Ordinal-based data-input selection and read with the Struct value before the ordinal. Callable items are read, not called.