Jatha - Common LISP library in Java
LispValue firstElement = myList.car();Additional LISP primitives can be written in Java and registered at runtime to be used in the LISP interpreter. The LISP engine compiles the input forms to an abstract machine code specified in Kogge's book "The Architecture of Symbolic Machines". The engine is pretty fast on today's computers. The following program can calculate 2^128 = 340282366920938463463374607431768211456 in about 4 milliseconds:
(defun power (a n) (if (zerop n) 1 (* a (power a (1- n)))))The Jatha library is covered by the Gnu Lesser General Public License, which allows libraries to be combined with non-free software.
org.jatha.dynatypepackage that implements a hierarchy of dynamically-typed data types that follows the Common LISP set of data types.
In 2002 I started using Jatha to convert the Algernon rule engine from LISP to Java. This resulted in several extensions to the library and verification that the library was complete enough to distribute. The first open source version of Jatha was distributed on June 14, 2003.
Jatha development is now supported by Hewett Research.