Project Babylon - Code Reflection
summary
Project Babylon extends Java Reflection to expose method and lambda bodies as a symbolic code model that Java programs can analyze and transform; the prototype serializes models into synthetic classfile fields but explores a builder-API-that-generates-a-method alternative. Tooling includes a Heterogeneous Accelerator Toolkit (HAT) and transformers that lower to SSA, lift back, and generate bytecode; round-trip tests exercise ~30,000 Java base methods and auto-diff and GPU (PTX/Triton/OpenCL) paths already prototype under code reflection.
AI-written summary · about
chapters (10)
- 0:00Project Babylon intro
- 1:07Java code models purpose
- 10:33Annotating methods
- 16:59Storing code models
- 19:50Transforming to bytecode
- 23:20Translating to GPU
- 31:28Reflecting Lambdas
- 43:43Double dispatch GPU
- 45:31Open questions
- 50:30Q&A
related talks
42mCode Reflection
25mSymbolic Modeling and Transformation of Java Code
43mReflecting on HAT: A Project Babylon Case Study
45mMaking Java more dynamic
39mYour Program as a Transpiler
58mModule Adoption? JDK Build Tool? Lombok? Backwards Compatibility? - Ask the Architects
46mJava annotation processing magic for muggles
35mJava Source to Byte Code Transformation - The Hidden Story!
