RScheme
compiler (with our local patches for multithreaded
non-blocking IO) and installing the SPLAT code.
If you are using Debian Linux on an Intel-based platform, the easiest
way to install RScheme
is from the rscheme-threaded_0.7.1-4_i386.deb
package file found on the SPLAT
distribution page. This is as simple as running the following command
as root:
# dpkg --install rscheme-threaded_0.7.1-4_i386.debIf you are not running Debian Linux, these instructions will be almost incomprehensible until I can clean them up. The best thing to do is to fetch the Debian source package for our patched RScheme, along with the plain upstream source for RScheme, and use these to build a patched RScheme binary. Unfortunately, building RScheme requires an already-installed RScheme. So you should first unpack, build, and install the vanilla RScheme from the source package according to its instructions. Also unfortunately, unpacking Debian source archives requires some Debian-specific tools. After that is done, unpack the Debian source archive and perform the build as follows. You will end up with the Debian binary packages (and a lot less free disk space!) in addition to an install tree of the new, built RScheme in a subdirectory of the main build directory.
# dpkg-source -x rscheme_0.7.1-4.dsc # cd rscheme-threaded_0.7.1-4 # ./debian.rules build-threaded
Now just copy the binaries to their destination directory.
$ rst RScheme (v0.7.1, 97.04.03) Copyright (C) 1995-1997 Donovan Kolbly <d.kolbly@rosette.com> RScheme comes with ABSOLUTELY NO WARRANTY. Launching threaded repl... Initializing event manager top[0]=>(load "splat-loader.scm") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; SPLAT: a Simple Provisional Language for Actions and Tasks ;;; Copyright (c) 1996, 1997 Bill Gribble <grib@cs.utexas.edu> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; loading splat-syntax.scm Compiling loop `loop' with full semantics (non-tail) Compiling loop `G#0' with full semantics (non-tail) Compiling loop `G#1' with full semantics (non-tail) Compiling loop `G#2' with full semantics (non-tail) ;;; loading splat-fluent.scm Compiling loop `G#3' with full semantics (non-tail) ;;; loading splat.scm Compiling loop `G#4' with full semantics (non-tail) Compiling loop `G#5' with full semantics (non-tail) ;;; loading splat-trivia.scm Compiling loop `G#6' with full semantics (non-tail) ;;; loading splat-thread.scm Compiling loop `G#7' with full semantics (non-tail) Compiling loop `loop' with full semantics (non-tail) ;;; loading splat-behav.scm value := #t top[1]=>