Kawa Download Next: History ... Kawa internals: Compiling Scheme to Java contents: History Basic implementation strategy Objects and Values ... Conclusion
Kawa internals: Compiling Scheme to Java Abstract Kawa is a set of Java classes useful for implementing dynamic languages, such as those in the Lisp family. Kawa is also an implementation of near-R5RS Scheme using these classes, and which compiles Scheme to the bytecode instructions of the Java Virtual Machine. This paper discusses the various issues involved in implementing Scheme using an abstract machine designed for a very different language. and how Kawa solves these problems. For information on getting and using Kawa, see the Kawa home page This document is based on a paper presented November 1998. Kawa has seen many changes since then, but alas, this document has not kept pace.
Introduction Java explosion The benefits of this hybrid Scheme/Java environment include:
- scripting Extends the Java benefits of "write once run anywhere" to Scheme programs, including portable bytecode distribution and web applets, though the use of standard Java bytecodes. Full integration between Java and Scheme: Scheme programs can call Java methods, and Java methods can call Scheme procedures.