This directory contains the files for Scheme 84 version 0.6  The instructions
describe how to load and boot Scheme 84 under Unix.

Scheme 84 is designed to run on top of Franz Lisp opus 38.17 or later.

To load and boot Scheme 84:

	1.  Set the environment variable SCHDIR to the directory
	    where Scheme 84 is kept.  For example,
	    
	    %setenv SCHDIR '/usiu/s84/sch'


	2.  Compile the following Franz Lisp source files:

	    top.l       (system name and version information)
	    comp.l	(the Scheme 84 compiler)
	    vsm.l	(the Virtual Scheme Machine)
	    env.l	(initial environment)
	    constant.l  (constant manipulation functions)
	    prims.l	(primitive construction)
	    base.l	(base environment manipulation functions)
	    boot.l	(system initialization routines)
	    error.l	(error handler)
	    except.l	(exception handling)
            print.l	(I/O routines)
            expand.l    (the beta-expander)
	    hostmacs.l  (system macros)
	    mkmac.l	(help functions for the macro writing tool)
	    vector.l    (vector functions)
	    signal.l    (system trap handlers)
	    debug.l     (history mechanism)
	    
	    Scheme 84 expects the compiled files to be named top.o, comp.o,
	    vsm.o, constant.o, env.o, prims.o, base.o, boot.o, error.o,
	    except.o, print.o, expand.o, hostmacs.o, mkmac.o, vector.o,
	    and signal.o

            There is a shell-script file, named compall, which is provided
	    with this distribution.  If you give it execute permission and
	    run it,

		% chmod u+x compall
		% compall

	    all the Franz Lisp files will be compiled for you.
	    
	3.  Start Franz Lisp and (chdir ....) to the Scheme 84 directory.

	4.  Execute (load 'top).
	    Notice that you must specify the operating system you are
	    using.  You should see something like the following (the date
	    on your version of Scheme 84 may be different than the one
	    shown here):

		-> (load 'top)
		[fasl top.o]
		Which operating system <unix or vms>? unix
		[fasl /usiu/s84/sch/boot.o]
		[fasl /usiu/s84/sch/base.o]
		[fasl /usiu/s84/sch/except.o]
		[fasl /usiu/s84/sch/error.o]
		[fasl /usiu/s84/sch/print.o]
		[fasl /usiu/s84/sch/hostmacs.o]
		[fasl /usiu/s84/sch/env.o]
		[fasl /usiu/s84/sch/constant.o]
		[fasl /usiu/s84/sch/vector.o]
		[fasl /usiu/s84/sch/prims.o]
		[fasl /usiu/s84/sch/vsm.o]
		[fasl /usiu/s84/sch/comp.o]
		[fasl /usiu/s84/sch/expand.o]
		[fasl /usiu/s84/sch/mkmac.o]
		[fasl /usiu/s84/sch/signal.o]
		[fasl /usiu/s84/sch/debug.o]
		[scheme-load std.s]
		[scheme-load patches.s]
		[scheme-load mkmac.s]   ; patience is needed here ...
		[scheme-load syntax.s]
		[scheme-load wrapper.s]
		[scheme-load synstd.s]
		[scheme-load debug.s]
		t
		Scheme 84 version 0.7 (5-May-85)
		
		--> 


	5.  "--> " is the booting prompt.  To create the executable
	    core image that users run, type "dump!" at the booting prompt.


	    --> dump!
	    beginning dump to 'savedlisp'

	    >>>


	6.  The executable file savedlisp contains Scheme 84.  You can
	    move it to any directory you want.  Users run Scheme 84 by
	    executing this file.
	    
	    If space is a concern, you can delete any of the files
	    included in the distribution kit or created during booting
	    except the ones Scheme 84 autoloads:  compfile.s and edit.s
	    These two files must remain in the Scheme 84 directory with
	    public access.


	7.  If you create a file called scheme.msg and place it in the
	    Scheme 84 directory (with public access), it will be
	    loaded and executed each time a user invokes Scheme 84.


	8.  Each user may place a .schemerc file in his login directory.
	    It will be loaded and executed each time he invokes
	    Scheme 84 (after the scheme.msg file).



Brief description of each file in this directory:

	READ_ME		this file

        base.l		Scheme 84 base environment functions written in
			Franz Lisp

	boot.l		Scheme 84 initialization file, written in Franz Lisp

	compall		Unix shell-script file to aid in compiling all of
			the Franz Lisp files during installation

	comp.l 		the Scheme 84 compiler, written in Franz Lisp
	
	constant.l	functions that define the Scheme 84 compile-time
	                constant operations

	compfile.s 	an autoload Scheme 84 file containing the function
			compile-file

	debug.l		functions that set up the history mechanism

	debug.s		more functions that set up the history mechanism

	edit.s 		an autoload Scheme 84 file containing the list
			structure editor interface

	env.l 		Scheme 84 environment initialization, written in
			Franz Lisp

	error.l 	the Scheme 84 error package, written in Franz Lisp

	except.l	the Scheme 84 exception handler, written in
			Franz Lisp, still under development

        expand.l	the Scheme 84 beta-expander, for beta-style special
 			forms, written in Franz Lisp
			
	hostmacs.l	most of the macros supplied with the system, written
			as Franz Lisp functions
	
	mkmac.l		help functions for mkmac, the Scheme 84 macro writing
			tool, written in Franz Lisp

	mkmac.s 	a Scheme 84 macro writing tool

	patches.s 	autoload functions for various Scheme 84 extensions
	
	prims.l		creation of Scheme 84 primitive functions

	print.l 	the Scheme 84 I/O package, written in Franz Lisp

	signal.l	system interrupt handlers

	std.s 		standard Scheme 84 macros and functions

	synstd.s	standard macros written as beta-style special forms

	syntax.s	constructors for beta-style special forms

	sys.s 		scheme-top-level and file loading functions

	top.l 		Scheme 84 version and host system file, written
			in Franz Lisp

	vector.l	vector manipulation functions, written in Franz Lisp

	vsm.l 		the Virtual Scheme Machine, written in Franz Lisp

	wrapper.s 	defining-form creation stuff
