This directory contains a release of the Oaklisp system.

Oaklisp is (C) Copyright 1986,87,88,89,90,91,92 Kevin Lang and Barak
Pearlmutter.  It is released under the GNU Public License 2.0; see the
file COPYING, enclosed, for details.

If you wish to use Oaklisp under different terms, please contact the
authors.  We are reasonable people.


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

	Barak Pearlmutter
	Yale University
	Department of Psychology
	11A Yale Station
	New Haven, CT  06520-7447


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,
or online by anonymous ftp from CS.CMU.EDU
/afs/cs.cmu.edu/user/bap/ftpable/oaklisp/



The contents of this directory are as follows:

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

README	this file

COPYING	GNU GPL 2.0, the license under which this software is released

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 a fancy enough 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.

	It is possible to rebuild these from oaklisp.cold, or from the
	files in the mac/ director using tool.oak.

mac/	**OPTIONAL**

	contains all the Oaklisp source files needed to build a world,
	including the compiler, the scheme compatibility package, and
	the world builder tool.  The latter, tool.oak, is used for
	building new cold world loads, necessary only when extremely
	low level changes are made to the system.  Even then, it is
	typically possible to just patch a warm world instead of
	building a new cold one.
