- JIT Compiler
- As was previously hinted, the Modelverse Kernel makes use of a JIT compiler to translate the action language code into code for the underlying platform.
- In our case, this platform is Python.
- The JIT compiler makes use of the concept of compiled functions, where it is possible to override an existing action language function with a handcoded function.
- Upon executing a function, the action language code is retrieved from the Modelverse and traversed.
- As the action language has a rather low number of basic building blocks, it is easy to map this to most existing procedural languages.
- All function calls are equally translated to function calls of the function in the Modelverse, thereby potentially leaving the JITted code.
- This has the advantage that changes to the source code can immediately be picked up by the compiler, after which the new code is immediately used in the next invocation.