A simple Lambda Calculus Interpreter, using call-by-name semantics. The language is pretty much Church’s simple untyped lambda calculus, the only concession for usefulness is the addition of numbers.
Tag Archives: Lisp
LispkitLISP Compiler
The LispkitLISP Compiler is written in SECD byte-codes. It takes a LISP source file and compiles it into SECD byte-codes. The SECD virtual machine is used to execute both the compiler and the compiled programs.
Kawa
Kawa (pronounced kava) is a compiler and run-time system for Scheme written completely in Java. It generates Java bytecodes using a “codegen” package which may be more generally useful. See also Byte-compilation of Scheme using Java byte-codes.
Jscheme
Jscheme is a dialect of Scheme with a very simple interface to Java. It implements all of R4RS Scheme except that continuations can only be used as escape procedures and strings are not mutable.
Skij
Skij is a Scheme interpreter written in Java. Its strong points in comparision with other existing Scheme-in-Java implementations are its small size and its facilities for manipulating Java objects and controlling the Java environment. Skij includes extensions to Scheme that permit fully interactive dynamic invocation of methods on arbitrary Java objects; interfaces to threads and synchronization; and support for writing UI event callbacks in Scheme.Skij was designed to bring the hands-on interactive feel of Lisp programming to the Java environment, and its primary use is as a debugging, exploration, and scripting tool. It can also be used for application development where speed is not critical.
JScheme
JScheme is a hybrid language formed by combining the core syntax of Scheme with the objects, methods, and lexical structure of Java.
Jaja
Jaja is an implementation of Scheme in Java.
webLISP
webLISP is an experimental Implementation of reflective functional Programming. It contains a very simple Lexer and Parser for a lambda-calculus language in lisp-syntax. The Lambda terms are compiled to variablefree Combinator Graphs. The virtual Graph-Reduction-Machine that reduces the Combinator-graph distinguishes between strict and non-strict operations. Strict operations have to be evaluated even if we obey lazy evaluation and can thus be evaluated in parallel to the main computation. The parallel computations are added to a global task pool, which is maintained by a stochastic scheduler. In addition to this basic implemenation a special Combinator P is introduced which performs an asyncronous parallelism of two given applications.
HotScheme
HotScheme is a Java-based interpreter for the Lisp dialect Scheme. It is intended as an exhibit of some of Java’s power, a tool that schools can use to supply students with a Lisp interpreter, and, ultimately, an interactive Internet programming environment.
PS3I
PS3I, the Persistent Server-Side Scheme Interpreter, is a nearly R4RS-compliant Scheme implementation, written in Java, multi-users, multi-threaded and aimed to run on (Web-)servers (as servlets).