Programs may be executed simultaneously (and step by step). The imperative and the procedural intepreters allow for that much.
The simultaneously executed programs share the set of executive objects (including the library objects, the memory allocator objects and the error reporter objects), as they would be executed from the same executable program representation. The executive objects would need to be constructed for simultaneous execution, otherwise the states of the concurrent executions will overlapped, with the worst of consequences (memory corruption, etc).
See Sharing Library Objects Sets.
The simultaneously execution is possible for imperative programs only for the model using an execution context (the _routine functions).
Concurrent (step by step) execution of different programs sharing part of the executive (library objects, etc) faces similar challenges to the simultaneous execution of one program.
A number of executive objects constructed by the executive assembler are not
suited for parallel execution of one or more programs. They included the
autolink_set temporaries allocator.
autodeck_set.less temporaries collector is not suited for function
evaluation result recording in a concurrent execution setup.
See Executive Assembler.
See struct x1f4_indexset_type.
|• Simultaneous Execution Temporaries Allocator:|
|• Simultaneous Execution Function Evaluation Result Recorded:|
|• Switching Between Executed Programs:|