Java in Java via Truffle
The goal of a meta-circular interpreter for Java is motivated as follows. Recent work in language extension is based on "virtualizing" method bodies into code that, instead of directly executing, interprets ASTs representing the original statements and expressions (see: Biboudis et al., Recaf: Java Dialects as Libraries, GPCE'16). This approach is extremely flexible and modular, but limited by the interpretative overhead incurred by virtualization. Truffle could be used to eliminate this overhead.
- A Truffle-based interpreter for the statements and expressions subset of Java 8.
- Benchmarking of its performance compared to a vanilla interpreter.
- Perform case-studies in the context of Recaf.
Contact: Tijs van der Storm.