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.