Title:		APL

Authors:	John D. Bruner
		Lawrence Livermore Laboratory
		P.O. Box 808, L-276
		Livermore, CA  94550
		(415) 422-0758

		Prof. Anthony P. Reeves
		Cornell University, Phillips Hall
		Ithaca, NY  14853
		(607) 256-4296

Description:

This is Purdue/EE's APL, which runs on both PDP-11's and VAX-11/780's.
This APL originally was written by Ken Thompson at Bell.  It went to
Yale for a while, and came to Purdue via a Chicago distribution in (I
think) 1976.  Jim Besemer (now with Tektronix in Oregon) made many
of the extensions to the original V6 PDP-11 version, including
quad I/O functions, the state indicator, internal label processing,
and a number of primitive functions.  I began support of APL when
Jim left in 1978 and have been handling it since then.

The driving force behind all of the development and maintenance of APL
at Purdue has been my major professor, Dr. Anthony P. Reeves.  Please
forward bugs/comments/suggestions to Dr. Reeves or to me (UUCP site
"pur-ee", login names "reeves" and "bruner").

Installation:

The makefiles included will generate APL for non-virtual-UNIX systems
(PDP-11's or 32/V VAX's).  To compile and load APL type the command
"make rebuild".  To compile a single-precision version (APL2) type
"make apl2".  On PDP-11's the single-precision version is useful since
it allows approximately twice as many items in the workspace; on the
VAX the single-precision version is unnecessary (and unused here at
Purdue).  I don't know how well the sources relate to USG UNIX, but
if any changes are required I suspect they are minor.

On a PDP-11 I recommend using the file "makefile.pdp" -- this uses
"ax.pdp.s" instead of "ax.c" and results in a little more intelligent
handling of floating-point exceptions.

If you wish to compile APL for virtual-memory UNIX (Berkeley UNIX),
edit "makefile" so that the line:
	CFLAGS=-O
reads
	CFLAGS=-O -DVMUNIX

The editor "xed" is Purdue/EE's text editor, an extended version of
the editor "ed".  APL calls the editor with some special flags for
special character mapping, intelligent overprinting, and APL-style
line numbering; therefore, we recommend that you use our
editor.  We install it as /usr/bin/xed for use as a general-purpose
editor as well; however, it is only necessary to install it as
/bin/apled or /usr/bin/apled.  If you want to use some other editor
with APL you may have to edit "ai.c" so that it doesn't call
the editor with flags meant for "xed".

If "xed" is linked to "eed" it will run with a somewhat less general
set of command options; this restricted editor is used at Purdue/EE
to introduce editing to new users without scaring them away by
all of the power in "xed".  The help files for the "he" command in
XED and EED are "xed.doc" and "eed.doc"; the source for xed/eed/apled
should be modified to contain whatever pathname is chosen for their
eventual home.  (If you are on a PDP-11, compile "reset.s" with
"xed.c" -- see the editor source for details.)

The program "aplcvt" converts workspaces between PDP-11 and VAX formats.
If you are on a PDP-11 do NOT use the optimizer (-O flag) when you
compile this -- the optimizer produces incorrect code.

The program "cata" (which can be linked to, and called as, "catb")
prints APL functions in ASCII files with line numbers.  When called
as "catb", overstrikes are printed on separate lines.
