- Makefile.libs: changed definition of LN to LN -sf, so can be overridden with LN=cp on systems with no symlinks; introduced LDCONFIG, so can be overridden if desired. - Makefile: changed uses of $(LN) -sf to $(LN); replaced two occurrences of ldconfig by $(LDCONFIG); suppress install of $(IMAGE_FILES) if variable is empty. Note: the IMAGE_FILES change was to enable Chibi to be compiled on GNURoot+Android, and can be reasonably reverted if an alternate way of dealing with image files is chosen. |
||
---|---|---|
benchmarks | ||
build-lib/chibi/char-set | ||
contrib | ||
data | ||
doc | ||
examples | ||
include/chibi | ||
js | ||
lib | ||
opt | ||
tests | ||
tools | ||
.gitignore | ||
.hgignore | ||
AUTHORS | ||
bignum.c | ||
chibi-gdb | ||
chibi-run | ||
chibi-save | ||
chibi-scheme.pc.in | ||
chibi-scheme.vcproj | ||
COPYING | ||
eval.c | ||
fedora.spec | ||
gc.c | ||
gc_heap.c | ||
main.c | ||
Makefile | ||
Makefile.detect | ||
Makefile.libs | ||
mkfile | ||
opcodes.c | ||
plan9.c | ||
README.libs | ||
README.md | ||
RELEASE | ||
sexp.c | ||
simplify.c | ||
TODO | ||
VERSION | ||
vm.c |
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.