BiwaScheme is a Scheme interpreter written in JavaScript.
Tag Archives: Scheme
Little Scheme in JavaScript
The final chapter of The Little Schemer is a Little Scheme interpreter, capable of evaluating most of the expressions in the book. It can use your own JavaScript functions as Scheme primitives, so you can add new JavaScript capability without modifying the interpreter. It runs in a web page, so you can execute your Scheme programs in any web browser. Just type your well-formed functions into the input box, press the big fat
button, and see the result in the output box.
Schava
Scheme (dialect of Lisp) interpreter written in Java.
streme
Streme (Scheme + stream) is a Scheme-inspired language with a concurrent interpreter. The main goal is to make effective use of multiple cores when evaluating programs. Streme comes with analysis tools that are capable of performing control and value flow analysis, together with interprocedural dependence analysis. The ultimate goal is automatic parallelization of Scheme programs, evaluating standard Scheme programs (i.e. programs without special annotations for parallelization) using multiple cores.
Yassl
Yassl is yet another extensible scripting language to work with Java classes. Yassl is a non object oriented language with a syntax that looks somewhat like C. Some of its features: Functions are available as regular types, and can be passed around and embedded in widgets. Implements lexical scoping, stolen from Scheme. Variables are typed (but at this point, the interpreter does no static type checking.) Eval is not directly supported, but an instance of a Yassl interpreter can be created from within a Yassl script, and you can evaluate expressions in the context of the new interpreter instance.
Tea
Tea is a high level scripting language for the Java environment. It combines features from Scheme, Tcl and Java.
MetaJ
The goal of the MetaJ project is the development of a generic protocol-based self-applicative interpreter for Java. The basic idea is to develop a generic reification procedure which can be used to reify any class of the interpreter. Currently, we have defined a reification scheme and we have built a reflective interpreter from a non-reflective interpreter for an essential subset of Java.
Sather
Sather is an object oriented language designed to be simple, efficient, safe, flexible and non-proprietary. One way of placing it in the “space of languages” is to say that it aims to be as efficient as C, C++, or Fortran, as elegant as and safer than Eiffel, and support higher-order functions and iteration abstraction as well as Common Lisp, CLU or Scheme. This compiler produces stand-alone applications.
BDC Scheme
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.
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.