mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-19 21:59:17 +02:00
They can be close()d explicitly with close-file-descriptor, and will close() on gc, but only explicitly closing the last port on them will close the fileno. Notably needed for network sockets where we open separate input and output ports on the same socket.
39 lines
1.5 KiB
Text
39 lines
1.5 KiB
Text
|
|
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 language is the R7RS (scheme base) 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.
|
|
|
|
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".
|