Official chibi-scheme repository
Find a file
Alex Shinn be3c76b43f Merge pull request #355 from mnieper/trace-option
Prevent segfault when '-t' option is given without argument
2016-06-06 20:51:36 +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 Update scheme-keywords.el 2015-10-21 18:04:32 +02:00
data Adding a gitignore for the temp data dir. 2015-04-09 01:30:06 +09:00
doc updating default language in manpage to (scheme small) 2016-05-07 23:44:21 +09:00
examples Forgot to install regexp (patch from Lorenzo) 2015-01-26 08:06:59 +09:00
include/chibi Conditionally defining PRIoff for off_t printf. 2016-04-09 20:09:57 +09:00
js Integrate emscripten build process in Makefile 2015-06-23 19:57:07 +02:00
lib "\xNN;" inline hex escapes should also support uppercase \X. 2016-06-04 22:19:43 +09:00
opt making string-cursors a disjoint type 2016-03-29 22:25:09 +09:00
tests Handling exact zero imaginary parts in complex asin. 2016-06-05 22:25:18 +09:00
tools patch from kipples for ffi struct args (fixes issue #330) 2016-05-18 22:36:59 +09:00
.gitignore ignoring image files 2016-04-05 00:41:54 +09:00
.hgignore Emscripten support by default. Patch from Marc Nieper-Wi?kirchen. 2015-02-22 16:10:30 +09:00
AUTHORS Adding credit to Chris. 2016-02-20 23:39:04 +09:00
bignum.c Handling exact zero imaginary parts in complex asin. 2016-06-05 22:25:18 +09:00
chibi-gdb Previous checkin incomplete - fixed omissions 2016-02-17 12:15:36 -05:00
chibi-run Bit better error reporting 2016-02-16 12:10:28 -05:00
chibi-save Made static definitions for srfi/95 and srfi/27 so work with images. Put makefile back to -O3 so optimized binaries made by default 2016-02-20 09:16:58 -05: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 Handle imaginary values of inverse of sine and cosine on the real axis. 2016-06-05 18:38:05 +02:00
fedora.spec Forgot to install regexp (patch from Lorenzo) 2015-01-26 08:06:59 +09:00
gc.c remove // comments, uneeded checks 2016-02-20 23:35:41 +09:00
gc_heap.c Conditionally defining PRIoff for off_t printf. 2016-04-09 20:09:57 +09:00
main.c Prevent segfault when '-t' option is given without argument 2016-06-06 08:57:45 +02:00
Makefile Modify makefiles to make LDCONFIG optional, support systems with no symlinks. 2016-05-18 14:11:39 -07:00
Makefile.detect Remove unnecessary variable quotation 2015-11-03 14:51:49 +01:00
Makefile.libs Modify makefiles to make LDCONFIG optional, support systems with no symlinks. 2016-05-18 14:11:39 -07:00
mkfile Forgot to install regexp (patch from Lorenzo) 2015-01-26 08:06:59 +09:00
opcodes.c making string-cursors a disjoint type 2016-03-29 22:25:09 +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 Hashes in symbol names need to be escaped with |...|. 2016-06-05 22:34:39 +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 making string-cursors a disjoint type 2016-03-29 22:25:09 +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.