Many are interested in Java for its portable bytecodes and extensive libraries, but prefer a different language, especially for scripting. People have implemented other languages using an interpreter (which is slowed), or by translating into Java source (with poor responsiveness for eval). Kawa uses an interpreter only for " simple " expressions; all… (More)
While a major factor in Java's success is its use of portable bytecodes, we believe it cannot become a mainstream programming language without mainstream implementation techniques, specifically an optimizing ahead-of-time compiler. This allows much better optimization, and much faster application start-up times than with JIT translators. Cygnus is writing a… (More)
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-R 5 RS Scheme using these classes, and which compiles Scheme to the byte-code instructions of the Java Virtual Machine. This paper discusses the various issues involved in implementing Scheme using an abstract… (More)
Java can b ethought of as two diierent things: Java as a programming language (object-oriented, syntax similar to C/C++) Java as a machine/environment (libraries + portable byte-codes run virtual machine) Need for other languages to co-exist in the Java environment. High-level \scripting" languages especially useful. Can use extensive Java libraries, and… (More)
JEmacs is a re-implementation of the Emacs pro-grammable text editor. It is written in Java, and uses the Swing GUI toolkit. Emacs is based on the extension language Emacs Lisp (Elisp), which is a dynamically-scoped member of the Lisp family. JEmacs supports Elisp, as well as the use of Scheme, a more modern statically-scoped Lisp dialect. Both languages… (More)
While a major factor in Java's success is its use of portable bytecodes, we believe it cannot become a mainstream programming language without mainstream implementation techniques. Specifically, an optimizing, ahead-of-time compiler allows much better optimization along with much faster application start-up times than with JIT translators. Cygnus Solutions… (More)
People are using XML-based languages for a number of applications. The paper discusses what we can learn from this, and various programming language ideas and features inspired by XML applications and tools. Some but not all of the ideas have prototype implementations within Kawa.