1 unstable release
Uses old Rust 2015
0.0.2 | Apr 14, 2015 |
---|
#1133 in Programming languages
1.5MB
65 lines
Seax
A SECD virtual machine for evaluating Lisp programs.
This project consists of three primary components in separate crates:
Seax Virtual Machine (SVM)
The core of the project. A virtual machine based on the SECD machine described by Peter Landin in 1963. SVM is distributed as a library so that it may be included in other programs.
Seax Scheme
A Scheme interpreter/compiler targeting the Seax VM. This implementation aims to conform with the Revised6 Report on Scheme (R6RS) whenever possible, but may not be a complatible implementation. seax-scheme
is released as a library, rather than an executable, so that it may be included in other applications which use Scheme as an embedded language.
Seax
The Seax main crate will contain a simple command-line wrapper for invoking the Scheme interpreter, either on source code files or as a REPL, compiling Scheme programs to SVM bytecode, and executing SVM bytecode files. This is so that the individual components of the system may be written as libraries rather than as executable programs. If additional compilers targeting the SVM are developed, this main program may invoke them as well.
Dependencies
~3.5–5.5MB
~99K SLoC