diff --git a/Makefile b/Makefile index 22ec233e..5a8a7f9a 100644 --- a/Makefile +++ b/Makefile @@ -313,7 +313,7 @@ install: all $(INSTALL) -m0755 libchibi-scheme$(SO_VERSIONED_SUFFIX) $(DESTDIR)$(SOLIBDIR)/ $(LN) -s -f libchibi-scheme$(SO_VERSIONED_SUFFIX) $(DESTDIR)$(SOLIBDIR)/libchibi-scheme$(SO_MAJOR_VERSIONED_SUFFIX) $(LN) -s -f libchibi-scheme$(SO_VERSIONED_SUFFIX) $(DESTDIR)$(SOLIBDIR)/libchibi-scheme$(SO) - -$(INSTALL) -m0644 libchibi-scheme.a $(DESTDIR)$(SOLIBDIR)/ + -if test -f libchibi-scheme.a; then $(INSTALL) -m0644 libchibi-scheme.a $(DESTDIR)$(SOLIBDIR)/; fi $(MKDIR) $(DESTDIR)$(SOLIBDIR)/pkgconfig $(INSTALL) -m0644 chibi-scheme.pc $(DESTDIR)$(SOLIBDIR)/pkgconfig/ $(MKDIR) $(DESTDIR)$(MANDIR) diff --git a/README.md b/README.md new file mode 100644 index 00000000..cd4bbdf6 --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +# ![Chibi-Scheme](https://goo.gl/ZDtn4q) + +**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](http://trac.sacrideo.us/wg/wiki/R7RSHomePage), +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](https://kripken.github.io/emscripten-site). + +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*. diff --git a/lib/srfi/1/selectors.scm b/lib/srfi/1/selectors.scm index 66dca43c..678f689a 100644 --- a/lib/srfi/1/selectors.scm +++ b/lib/srfi/1/selectors.scm @@ -9,9 +9,9 @@ (define (fifth ls) (car (cdr (cdr (cdr (cdr ls)))))) (define (sixth ls) (car (cdr (cdr (cdr (cdr (cdr ls))))))) (define (seventh ls) (car (cdr (cdr (cdr (cdr (cdr (cdr ls)))))))) -(define (eighth ls) (car (cdr (cdr (cdr (cdr (cdr (cdr ls)))))))) -(define (ninth ls) (car (cdr (cdr (cdr (cdr (cdr (cdr (cdr ls))))))))) -(define (tenth ls) (car (cdr (cdr (cdr (cdr (cdr (cdr (cdr (cdr ls)))))))))) +(define (eighth ls) (car (cdr (cdr (cdr (cdr (cdr (cdr (cdr ls))))))))) +(define (ninth ls) (car (cdr (cdr (cdr (cdr (cdr (cdr (cdr (cdr ls)))))))))) +(define (tenth ls) (car (cdr (cdr (cdr (cdr (cdr (cdr (cdr (cdr (cdr ls))))))))))) (define (car+cdr x) (values (car x) (cdr x)))