fools' lisp 1.3 runs on the following systems: DECstation 3100 Ultrix 3.1 (UW V2.1) and T4.0-0 (UW T2.4-0) Sun3 and Sun4 SunOS 4.0.3 VAX Ultrix 3.1 and 4.3-Tahoe BSD Sequent Symmetry DYNIX(R) V3.0.12 NFS Apollo DN3500 DomainOS Release 10.1 (bsd4.3) To compile the interpreter just type "make" in the directory containing the source. All of the above systems will properly build without modification to the source, except the Apollo which requires a slight modification of the Makefile. You might need to change portions of the Makefile depending on your system: for example, on the Apollo DN3500, the CFLAGS macro ought to be "CFLAGS = ${INC} ${DATE} -O -A nansi". I have heard that the DATE macro is also troublesome (replace the `date` with the current date). The file config.h defines options and system dependent parameters. You may want to change some of the options. The math libraries also differ from system to system, so certain functions used in mathprim.c may have to be removed or written. When the interpreter starts up, it does not have all the required features of R3RS. The missing features are in the file init.scm. The executable scripts fl and schelog demonstrate how to start up the interpreter with whatever customizations you'd like. Note that the actual pathnames in these scripts will have to be changed depending on where the referenced files are located. fl is a csh script that loads the default initialization file and other useful stuff. schelog invokes fools with the #! script facility and loads Dorai Sitaram's prolog-in-scheme embedding. A simple pretty printer and extend-syntax can be included into programs by (require 'pp) or (require 'extend-syntax). The interpreter understands the following command line options: -s file [arg ...] load file and set *argc* and *argv* to the command line arguments. This is useful for systems that support #! scripts. -v file [arg ...] Like -s except the results of each evaluation is sent to stdout. [file [file ...]] load each file. After processing command line arguments, the interpreter enters a read-eval-print loop (unless one of the files called exit). Info.doc contains additional information about the interpreter. If you have any questions, comments, or find any bugs, feel free to contact me. Thank you, Jonathan (jonathan@scam.berkeley.edu)