Twobit and Larceny
Twobit is a relatively simple optimizing compiler for Scheme. Four different back-ends now serve as the basis for three related implementations of Scheme.
In decreasing order of performance:
- Larceny is a research-quality implementation of Scheme that compiles directly to native machine code for SPARC or x86-32 architectures.
- Petit Larceny is a portable implementation that batch-compiles to C instead of machine code.
- Common Larceny runs on Microsoft .NET's Common Language Runtime, generating JIT-compiled IL instead of native or C code.
These design notes were written primarily for students and for the developers of Twobit and Larceny. They do not yet describe the current version of Twobit, and are based on the description of an earlier version of Twobit in
Clinger, W., and Hansen, L.T. Lambda, the ultimate label; or a simple optimizing compiler for Scheme. Proceedings of the 1994 ACM Conference on Lisp and Functional Programming, June 1994, pages 128-139.