ConstReadonlycall: (this: void, args: BuiltInEvalHandlerArgs) => ValueWhat a string call amounts to; see resolveAsStringFn.
Readonlyfns: {every string built-in that is folded, see StringFns
Readonlybasename: { fold: (path: string) => string; params: readonly ["path"]; pkg: Base }Readonlyfold: (path: string) => stringReadonlyparams: readonly ["path"]Readonlypkg: BaseReadonlydirname: { fold: (path: string) => string; params: readonly ["path"]; pkg: Base }Readonlyfold: (path: string) => stringReadonlyparams: readonly ["path"]Readonlypkg: BaseReadonlyfile.path: {Readonlyhere: { fold: (parts: (...)[]) => string; params: readonly ["..."]; pkg: Here }Readonlynchar: { fold: (s: string) => number; params: readonly ["x"]; pkg: Base }R counts characters, so we count code points rather than UTF-16 units
Readonlypaste: {Readonlypaste0: {Readonlytolower: { fold: (s: string) => string; params: readonly ["x"]; pkg: Base }Readonlytoupper: { fold: (s: string) => string; params: readonly ["x"]; pkg: Base }Readonlytrimws: { fold: (s: string) => string; params: readonly ["x"]; pkg: Base }Readonlyfold: <Info>(The string a call in the AST folds to; see foldStringCall.
ReadonlypasteLike: ReadonlySet<string>the calls pasting their arguments together, see PasteLikeCalls
Folding the string built-ins, from
pastetobasename.Wired into BuiltInEvalHandlerMapper and internal to evaluation: to ask what a node holds, use NodeValue or Resolve.