This directory contains a release of the Oaklisp system.

Oaklisp is (C) Copyright 1986,87,88,89,90 Kevin Lang and Barak
Pearlmutter.  In the Freeware tradition, permission is explicitly
granted for anyone to use and copy this software, provided that
neither it nor any derived work is sold.  All other rights reserved.

Enhancements, bug reports, and bug fixes should be mailed to
Barak.Pearlmutter@CS.CMU.EDU for those with appropriate access to the
Internet, or

	Barak Pearlmutter
	Department of Computer Science
	Carnegie-Mellon University
	Pittsburgh, PA  15213

for others.

Some of the Makefiles in this collection use CMU CS specific features.
If you can't figure out what's going on, try just ignoring and
deleting the weird stuff.

An Oaklisp Language Manual is available as a CMU CS technical report.



The contents of this directory are as follows:

Makefile; type "make install" to get things set up.

bin/	contains some shell scripts.  Either put this directory in
	your search path or make links from some directory on your
	search path to the scripts oaklisp, oakliszt, and scheme.

	The command to run Oaklisp is "oaklisp".  The command to run
	Oaklisp with an R3RS compatibility package loaded is "scheme".
	The command to compile an Oaklisp source file is "oakliszt".
	For instance, to compile foo.oak, producing foo.oa, one types
	"oakliszt foo".

	To use these scripts, you should setenv OAKPATH to the
	directory this file is in, with no trailing slash, or change
	the default location by editing them.

etc/	contains a symbolic link to the bytecode emulator executable,
	"emulator", which lives down in the src/ subdirectory.

src/	contains C source to make the bytecode emulator.  If Oaklisp
	won't boot, you may need to edit the file config.h to reflect
	your machine, although it tries to adapt itself to various
	environments.  In particular, make sure it gets BIG_ENDIAN and
	UNSIGNED_CHARS set correctly.

	If you have CMU make, just cd to fast/ and "make emulator".
	If you have a System-V style make that recognizes VPATH, add
	the line "VPATH = ../src" to the beginning of fast/makefile,
	cd to fast/ and "make emulator".  If you have a lowest common
	denominator make, cd to fast/ and type "cp
	../src/{Makefile,*.[ch]} ." and then "make emulator".

lib/	contains Oaklisp bootable worlds.  The only crucial one is
	"oaklisp.??c" which is the normal Oaklisp world.
	"oaklisp.??z" is the batch compiler world, necessary for the
	"oakliszt" command.  The "??" in these filenames is either
	"ol" or "lo" for big endian and little endian machines,
	respectively.  Of course, you only really need the ones for
	the endianity of your machine.

mac/	**OPTIONAL**

	contains all the Oaklisp source files needed to build a world,
	including the compiler and the scheme compatibility package.

linker/	**OPTIONAL**

	contains the world builder tool, which is written in T.  (T is
	distributed by the Free Software Foundation of Cambridge
	Mass.)  This is used for building new cold world loads,
	necessary only when extremely low level changes are made to
	the system.  Someday someone will get around to porting the
	world builder to Oaklisp, which would be very simple.

