Skip to content
Scheme-style LISP language implementation with simple C interface.
C Scheme Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
buildhere
core-lib
data
dfsch
doc
examples
ext
lib-scm
lib
src
tests
tools
AUTHORS
BUGS
COPYING
COPYING.LIB
Doxyfile
INSTALL
Makefile.am
NEWS
README
TODO
bootstrap.sh
configure.ac
gen-doc.sh
gen-git-rev.sh
gen-module-docs.sh
git-make-stamp.sh
make-version-h.sh

README

This is dfsch - dfox's scheme implementation. It's essentialy an
embeddable scheme interpreter. For now it's still lacking many
scheme functions, but it's generally usable as embedded scripting
language.

An useful example how to use this library is binary `dfsch-repl'
produced by compilation, it's source is `src/repl.c'. It's simple
interactive interpreter with some additional convenience features.

Interpreter depends on Boehm-Demers-Weiser conservative garbage
collector, in theory it is possible to replace all calls to GC_MALLOC
with malloc(3) for testing on platforms without working libgc (for
example Interix), but running any non-toy code without working GC is
not good idea. Console I/O library (used by REPL and debugger) is able
to use readline, but can reasonably work without it.

Platforms that generally work and are reasonably tested are:
 * Linux 2.6 on i386
 * Linux 2.6 on amd64
 * Linux 2.6 on Alpha
 * Linux 2.6 on Sparc (32b mode is more tested, but 64b should
                       work too)
 * Windows 2003 - crosscompiled by mingw
Platforms where it worked last time they was tested:
 * Linux 2.4 on StrongARM
 * Linux 2.6 on StrongARM
 * Solaris 10 on sparc
 * Cygwin
Platform that almost worked last time I tried:
 * NetBSD 4.0.1 on sparc (pure 64b)
   - Problems with confused libgc shared library support
Platforms that simply do not work:
 * Interix
   - No libgc port
 * Windows with MSVC 
   - No support for C99
Platforms that I'm interested in:
 * Linux on PowerPC
 * Bare hardware
 * Cross-compilation of some subset of dfsch to small embedded
   platforms (e.g. AVR)


Something went wrong with that request. Please try again.