Kawa is a framework written in Java for implementing high-level and dynamic languages, compiling them into Java bytecodes. It includes and implementation of the Scheme programming language with extensions to provide useful integration with the JDK and other Java classes.
The included gnu.bytecode package can be used as a standalone library for generating Java bytecode.