The Scheme package is a Java library implementation of the scheme language. It is designed so that you can easily use it in a Java application or applet to make it extensible.
A small Lisp implementation in Java
Bigloo is a Scheme implementation devoted to one goal: enabling Scheme based programming style where C(++) is usually required. Bigloo attempts to make Scheme practical by offering features usually presented by traditional programming languages but not offered by Scheme and functional programming. Bigloo compiles Scheme modules. It delivers small and fast stand alone binary executables. Bigloo enables full connections between Scheme and C programs, between Scheme and Java programs, and between Scheme and C# programs. (Use the version flagged as “Win32 precompiled version relying exclusively on the JVM back-end” for JVM version. Please inform me if you detect problems with its execution on platforms other than Win32. RT)
Jatha is a Java library that implements a fairly large subset of Common LISP, including most of the datatypes (e.g. packages, bignums) and their associated methods. The API allows programmatic access to LISP from Java, either using an eval() method or using Java methods. Additional LISP primitives can be written in Java and registered at runtime to be used in the LISP interpreter.
Clojure is a dynamic programming language designed to be general-purpose, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure compiles directly to JVM bytecode. Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language,and features a rich set of immutable, persistent data structures.
Here is yet another Lisp interpreter. It would be interesting to see some comparison amongst the ones referenced here.
The choice of instructions and some of the implementations of the composite functions were taken from Roger Rohrbach’s Lisp in Awk interpreter. The syntax is standard, and only integer arithmetic is available. Primarily because it is easy to implement, scoping is dynamic as in original Lisp and unlike modern Lisp or Scheme.