Official chibi-scheme repository
Scheme C Makefile Emacs Lisp CMake Objective-C Other
Permalink
Failed to load latest commit information.
benchmarks adding count to gc timer Jun 27, 2015
build-lib/chibi/char-set Noting some simple char-set utilities are public domain. Apr 8, 2015
contrib cmake: Add CMakeLists.txt Nov 18, 2017
data Adding a gitignore for the temp data dir. Apr 8, 2015
doc Documenting sexp_register_c_type and sexp_make_cpointer. Feb 18, 2018
examples Forgot to install regexp (patch from Lorenzo) Jan 25, 2015
include/chibi only use ape/limits.h on plan9 Jan 13, 2018
js Integrate emscripten build process in Makefile Jun 23, 2015
lib typo in vector-select! Feb 1, 2018
opt making string-cursors a disjoint type Mar 29, 2016
tests fixing test-build Jan 24, 2018
tools chibi-genstatic: Add --no-inline option Nov 7, 2017
.gitignore Update .gitignore Dec 30, 2017
.hgignore Emscripten support by default. Patch from Marc Nieper-Wi?kirchen. Feb 22, 2015
.travis.yml wrong filename Jun 24, 2016
AUTHORS adding (srfi 135) Jan 15, 2018
CMakeLists.txt skip chibi log tests in windows Jan 13, 2018
COPYING adding (srfi 101) Jan 15, 2018
Makefile install (srfi 135 kernel8) Jan 25, 2018
Makefile.detect Win32: Fix win32 port Nov 10, 2017
Makefile.libs Modify makefiles to make LDCONFIG optional, support systems with no s… May 18, 2016
README-win32.md README-win32.md: Character-case problem was fixed Dec 14, 2017
README.libs Forgot to install regexp (patch from Lorenzo) Jan 25, 2015
README.md doc: Update document for Win32 support Dec 13, 2017
RELEASE bumping version Oct 6, 2017
TODO marking some todos done Aug 30, 2017
VERSION bumping version Oct 6, 2017
appveyor.yml AppVeyor: Add CMake x64 MinGW configuration to check Dec 30, 2017
bignum.c Win32: Fix win32 port Nov 10, 2017
chibi-gdb Previous checkin incomplete - fixed omissions Feb 17, 2016
chibi-run Bit better error reporting Feb 16, 2016
chibi-save Made static definitions for srfi/95 and srfi/27 so work with images. … Feb 20, 2016
chibi-scheme.pc.in Forgot to install regexp (patch from Lorenzo) Jan 25, 2015
configure adding informational configure script Jun 24, 2016
eval.c Win32: Fix win32 port Nov 10, 2017
fedora.spec Forgot to install regexp (patch from Lorenzo) Jan 25, 2015
gc.c adding better debugging for zero-sized object warning Feb 16, 2018
gc_heap.c Win32: Fix win32 port Nov 10, 2017
main.c advanced repl should use (scheme small) by default Jan 16, 2018
mkfile Forgot to install regexp (patch from Lorenzo) Jan 25, 2015
opcodes.c making string-cursors a disjoint type Mar 29, 2016
plan9.c Updating copyright years. Apr 8, 2015
sexp.c Win32: Include <io.h> on sexp.c Dec 13, 2017
simplify.c Updating copyright years. Apr 8, 2015
vm.c fixing peek-char on non-ascii chars Jun 26, 2017

README.md

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.

There are no external dependencies so is relatively easy to drop into any project.

The default repl language contains all bindings from R7RS small, available explicitly as the (scheme small) library. The language is built in layers, however - see the manual for instructions on compiling with fewer features or requesting a smaller language on startup.

Chibi-Scheme is known to work on 32 and 64-bit Linux, FreeBSD and OS X, Plan 9, Windows (using Cygwin), iOS, Android, ARM and Emscripten. Basic support for native Windows desktop also exists. See README-win32.md for details and build instructions.

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.