Official chibi-scheme repository
Find a file
2015-06-29 23:48:26 +09:00
benchmarks adding count to gc timer 2015-06-27 20:43:43 +09:00
build-lib/chibi/char-set Noting some simple char-set utilities are public domain. 2015-04-09 01:43:17 +09:00
contrib Adding -R support to chibi bash completion. 2015-04-09 01:31:36 +09:00
data Adding a gitignore for the temp data dir. 2015-04-09 01:30:06 +09:00
doc Adding more packaging documentation. 2015-05-10 22:47:12 +09:00
examples Forgot to install regexp (patch from Lorenzo) 2015-01-26 08:06:59 +09:00
include/chibi adding initial experimental compacting gc 2015-06-29 23:48:26 +09:00
js Integrate emscripten build process in Makefile 2015-06-23 19:57:07 +02:00
lib adding count to gc timer 2015-06-27 20:43:43 +09:00
opt Committing removed files. 2015-02-08 16:02:50 +09:00
tests Handling non-pointer struct return types in the ffi. We do a flat memcopy 2015-06-22 23:01:44 +09:00
tools Handling non-pointer struct return types in the ffi. We do a flat memcopy 2015-06-22 23:01:44 +09:00
.gitignore Integrate emscripten build process in Makefile 2015-06-23 19:57:07 +02:00
.hgignore Emscripten support by default. Patch from Marc Nieper-Wi?kirchen. 2015-02-22 16:10:30 +09:00
AUTHORS Adding Alexei Lozovsky to AUTHORS. 2015-04-15 17:20:31 +09:00
bignum.c Fix in sexp_bignum_quot_rem when the numerator and divisor are equal. 2015-06-15 23:31:46 +09:00
chibi-scheme.pc.in Forgot to install regexp (patch from Lorenzo) 2015-01-26 08:06:59 +09:00
chibi-scheme.vcproj Forgot to install regexp (patch from Lorenzo) 2015-01-26 08:06:59 +09:00
COPYING Updating copyright years. 2015-04-09 01:28:02 +09:00
eval.c When directly incrementing or aligning bytecode pos during code generation, 2015-05-12 23:03:48 +09:00
fedora.spec Forgot to install regexp (patch from Lorenzo) 2015-01-26 08:06:59 +09:00
gc.c adding initial experimental compacting gc 2015-06-29 23:48:26 +09:00
main.c adding initial experimental compacting gc 2015-06-29 23:48:26 +09:00
Makefile Integrate emscripten build process in Makefile 2015-06-23 19:57:07 +02:00
Makefile.detect chibi.crypto: move sexp_uintN_t typedefs to <sexp.h> 2015-04-19 16:01:11 +03:00
Makefile.libs Forgot to install regexp (patch from Lorenzo) 2015-01-26 08:06:59 +09:00
mkfile Forgot to install regexp (patch from Lorenzo) 2015-01-26 08:06:59 +09:00
opcodes.c identifier->symbol should handle nested syntactic closures 2015-06-18 23:32:21 +09:00
plan9.c Updating copyright years. 2015-04-09 01:28:02 +09:00
README.libs Forgot to install regexp (patch from Lorenzo) 2015-01-26 08:06:59 +09:00
README.md Shortened logo URI & added Emscripten link 2015-06-07 12:06:33 +02:00
RELEASE Forgot to install regexp (patch from Lorenzo) 2015-01-26 08:06:59 +09:00
sexp.c fixing build for non-timed gc 2015-06-27 22:41:23 +09:00
simplify.c Updating copyright years. 2015-04-09 01:28:02 +09:00
TODO Updating some completed items. 2015-04-09 01:22:52 +09:00
VERSION changes go to the 0.7.3 release 2015-03-22 17:02:41 +09:00
vm.c When aligning bytecode, pad the skipped bytes with the previous opcode. 2015-06-03 22:29:38 +09:00

Chibi-Scheme

Minimal Scheme Implementation for use as an Extension Language

http://synthcode.com/wiki/chibi-scheme

Chibi-Scheme is a very small library intended for use as an extension and scripting language in C programs. In addition to support for lightweight VM-based threads, each VM itself runs in an isolated heap allowing multiple VMs to run simultaneously in different OS threads.

The default repl language contains all bindings from R7RS small, available explicitly as the (scheme small) library.

Support for additional languages such as JavaScript, Go, Lua and Bash are planned for future releases. Scheme is chosen as a substrate because its first class continuations and guaranteed tail-call optimization makes implementing other languages easy.

Chibi-Scheme is known to work on 32 and 64-bit Linux, FreeBSD and OS X, Plan9, Windows (using Cygwin), iOS, and Emscripten.

To build on most platforms just run make && make test. This will provide a shared library libchibi-scheme, as well as a sample chibi-scheme command-line repl. You can then run

sudo make install

to install the binaries and libraries. You can optionally specify a PREFIX for the installation directory:

make PREFIX=/path/to/install/
sudo make PREFIX=/path/to/install/ install

By default files are installed in /usr/local.

If you want to try out chibi-scheme without installing, be sure to set LD_LIBRARY_PATH so it can find the shared libraries.

For more detailed documentation, run make doc and see the generated doc/chibi.html.