Message from JavaScript discussions
October 2018
— Yes, the order is maintained because that array represents the invocation operator's argument list
// Type 1: Invocation Tokens,
// Wrap userland functors and any operands needed to invoke them.
call: new HzToken("call",
"functor",
"thisArg",
"args"
),
— So those 3 args under the "call"
arg (which is just setting the type of the token) are directly taken from the argument list of set
— token.set(functor, thisArg, args);
— It is an effective uniqueness type pool
— There is also a virtual call stack that acts like the real V8 one
— Inside it are Program
objects
— Https://github.com/Floofies/HertzScript/blob/master/src/Program.js
— These are not re used, but I think it may help if they were
— User Function Call -> re-use Call Token -> create new Program Object
— Since the Programs are concurrent, they remain in-use until later
— Unlike the tokens, which are only used immediately after being set