A Scheme interpretter written in Java that uses some compiler-style optimizations for better performance than straightforward interpretters. Originally started in 1996 as a project to learn Java programming, BDC Scheme was used as an extension language in a commercial product starting in 1997. Previous to open source release in 2002 it was written up as part of an a MIT MEng thesis in 2000 where it was referred to as Script. The thesis covers the history of the implementation and benchmarks the performance relative to a variety of other Scheme implementations, both Java and non-Java based such as Kawa, Silk, Skij, Scheme 48, MIT Scheme. Both Sun and IBM are used in the comparison.
Tag Archives: Lisp
Sixx
Sixx is an interactive Lisp implementation in a 20KB jar file. It only requires JRE 1.1 making it suitable for applets. It supports a subset of Scheme (a lot of R4RS, R5RS and aims for some R6RS) including call/cc, but not hygienic macros (yet) or syntax-case. It is simple to call Java from Scheme and Scheme from Java.
SISC
SISC – Second Interpreter of Scheme Code is an extensible Java based interpreter of the algorithmic language Scheme. The entire R5RS Scheme standard is supported. Native functionality can be added through the use of Modules, extensions that may add new types, values, and functions to the language.
Rainbow
Ioke
Ioke is a very high level programming language for the JVM that aims to provide the expressiveness of languages like Io and Lisp to the JVM.
orzjisp
orzjisp is a variant of orzlisp on JVM which is a variant of LISP on RubyVM.
LISP Interpreter in Java
jasi-himanshu
jasi-himanshu is a experimental scheme interpreter in Java.
The UncommonLisp Interpreter
The UncommonLisp Interpreter contains a functionally complete set of Lisp primitives in less than two thousand lines of Java. It delegates the implementation of higher level Lisp functions to Lisp itself, thereby bootstrapping the interpreter to implement some of its own functionality.
uts
uts, the Useless Toy Scheme is a Scheme bytecode interpreter. It’s almost fully R4RS-compliant but otherwise minimal. It needs the Boehm garbage collector to run. In an earlier incarnation this was known as Plonk; there is an all-Scheme version, and a Java implementation of the bytecode interpreter part. It’s known to not work right with JDK 1.1, and it will not be developed any further.