A little side project I’ve been working on - a new Kotlin compiler that will soon be capable of some more advanced runtime AST/meta features: (Meta-Advanced Kotlin Implementation)
https://github.com/mattmoore/maki
It was inspired by a bit by Erlang. The idea is to have a compiler and runtime with more advanced meta-capabilities that is capable of maintaining runtime state and snapshots as well as the ability to diff multiple runtime states/snapshots and visually compare them or even reload previous program states from an AST dump file.
Meta capabilities will be accessible at the lexer, parser and runtime levels.
Process management is something I’m hoping to tackle as well. If your program dies, this runtime will be capable of monitoring those processes and restarting from any preexisting state you’ve chosen to save (or have automatically save at intervals).
Doesn’t yet support JVM (I’m making use of LLVM IR similar to Kotlin Native) but the goal is to have Java interop available soon. Eventually you should be able to plug this into Gradle with a plugin just the same as you would for the standard Kotlin compiler. Once I have the JVM interop completed, you can add Java dependencies to your project and the compiler will generate the necessary bindings to make calling Java or native libraries a snap.
Depending on how compatible the end result is I’m hoping something like this might make it into the official compiler.