Project Babylon - Code Reflection

Project Babylon aims to extend the reach of Java to foreign programming models with an enhancement to Java reflection called code reflection . Code reflection expands reflective access to the Java code in method bodies and lambda bodies, presenting that code in a symbolic form called a code model. A code model can be analyzed and transformed by Java program to produce a derived program that may be foreign to Java, such as a GPU program. This video gives an update on Project Babylon, focusing on the code model design, the symbolic modeling of Java statements, expressions, and types in code models, and the Java platform enhancements required for reflective access of Java code. Resources • Slides ➤ ~psandoz/conferences/2024-JVMLS/ • Bable Tower photo credit ➤ • Project Babylon ➤ • Heterogenous Accelerator Toolkit (HAT) ➤ • Transformation examples ➤ • Detour — Call graph trampolining ➤ • Automatic differentiation of Java code using Code Reflection ➤ • Code Models ➤ • Inside Java ➤ • ➤ • JVMLS ➤