Jatha is a Java library that implements a large part of the core of Common LISP. It has been used to port a moderately complex expert system shell from LISP to Java. It has also been used as an embedded scripting language. Due to its rich set of dynamically-typed data types, additional behavior can easily be added.
There are a handful of open source LISP systems written in Java, C and C++. The ones written in C and C++ typically do not provide a good garbage collector. Jatha combines the portability of Java with the built-in Java garbage collector and a fairly complete subset of Common LISP to provide a very useful LISP environment.
Jatha has been in development for over 10 years and has been used extensively for the past couple of eyars. It has proved to be very robust and has no outstanding reliability issues. Jatha's core LISP engine is based on the SECD abstract machine described in Kogge's "The Architecture of Symbolic Machines". Each LISP primitive is a separate Java class and is implemented using SECD abstract machine commands. The user can implement new primitives in Java, register them at runtime with API calls and use them immediately.