The Larceny Project

Larceny is a simple and efficient implementation of the Scheme programming language. Created originally as a test vehicle for research on garbage collection and compiler optimizations, Larceny has grown into a major multiplatform system, and is one of the very few implementations that supports all four de facto standards for Scheme: IEEE/ANSI, R5RS, ERR5RS, and the R6RS. Development of Larceny has been supported by NSF, Sun Microsystems, and Microsoft.

Varieties of Larceny

Four different code generators serve as the basis for three different varieties of Larceny:

  1. Larceny compiles directly to native machine code for the SPARC or Intel IA32 architectures.
  2. Petit Larceny is a portable implementation that compiles to C instead of machine code.
  3. Common Larceny runs in the Common Language Runtime (CLR) of Microsoft .NET, generating IL, which is JIT-compiled to native machine code by the CLR.

Downloads

Versions 0.963 and 0.97b1 (beta test) are now available for downloading:

Common Larceny v0.964 is also available:

Documentation

* Overview of Larceny
* Larceny User's Manual
* Common Larceny User's Manual (in progress)
* Mailing list for Larceny Users
* Information for Larceny Developers
* Benchmarks
* Known Bugs (last updated 29 July 2007)

Acknowledgements

The Larceny development team gratefully acknowledges those who have contributed major components of this software:

History

Larceny has been available for the SPARC since 1999. Common Larceny became available in November 2004. Petit Larceny became available in June 2005. ERR5RS and R6RS compatibility were added in November 2007.

The Larceny project started in 1991 at the University of Oregon under the direction of William D Clinger; most of the original implementation was written during 1991 and 1992 by Lars T Hansen. Development of Larceny resumed after Clinger and then Hansen moved to Northeastern University. Hansen began to develop Petit Larceny following the first release of Larceny in 1999; he also wrote the Intel IA32 native code generator. Common Larceny, which is based on Petit Larceny, was developed in 2002-2004 by Ryan Culpepper, Joe Marshall, Dale Vaillancourt, and others under the direction of Clinger and Matthias Felleisen. The more recent versions of these systems were built by Clinger, Felix Klock, Jesse Tov, and Chris Burns.


Valid XHTML 1.0!

larceny@ccs.neu.edu

Last updated (not yet checked in!) 25 August 2008.