Minimal Scheme Implementation for use as an Extension Language

Download: version 0.3

Chibi-Scheme is a very small but mostly complete R5RS Scheme implementation using a reasonably fast custom VM. Chibi-Scheme tries as much as possible not to trade its small size by cutting corners, and provides full continuations, both low and high-level hygienic macros based on syntactic-closures, string ports and exceptions. Chibi-Scheme is written in highly portable C and supports multiple VM instances running simultaneously.

Chibi-Scheme is known to work on 32 and 64-bit Linux and OS X, and Plan9, and has been embedded in an iPhone app.

The project home is at [http://code.google.com/p/chibi-scheme/] and mailing list at [http://groups.google.com/group/chibi-scheme].


INSTALLING

To build, just run "make". This will provide a shared library "libchibi-scheme", as well as a sample "chibi-scheme" command-line repl. The "chibi-scheme-static" make target builds an equivalent static executable.

You can edit the file chibi/features.h for a number of settings, mostly disabling features to make the executable smaller. You can specify standard options directly as arguments to make, for example

make CFLAGS=-Os CPPFLAGS=-DSEXP_USE_NO_FEATURES=1

to optimize for size, or

make LDFLAGS=-L/usr/local/lib CPPFLAGS=-I/usr/local/include

to compile against a library installed in /usr/local.

By default Chibi uses a custom, precise, non-moving GC. You can link against the Boehm conservative GC by editing the features.h file, or directly from make with:

make SEXP_USE_BOEHM=1

Additional information can be found in the README included in the distribution.