MultISL is an ISL extension that allows ISL programs to utilise multiple disposable interpreters ("threads"), each one running entirely separately.
Each interpreter has the same options as the original interpreter, and run asynchronously.
Note: Does not actually run in separate system threads, but in async loops.
There's only one keyword added by this extension: thread
It performs all available operations on threads.
<label> thread <thread> [...code]
Performs an operation determined by the label on the specified thread.
create
: Makes a new thread.
delete
: Removes an existing thread.
add-to
: Adds some ISL to the thread's interpreter.
in
: Executes some ISL in the thread's interpreter directly.
start
: Starts the thread's interpreter's execution loop.
stop
: Stops the thread's interpreter's execution loop.
pause
: Pauses the thread's interpreter's execution loop. It can be resumed with start thread <thread>
. Not the same as the keyword pause
.