+.TH APL 1 10/19/79
+.UC
+.SH NAME
+apl \- an apl interpreter
+.SH SYNOPSIS
+.B apl
+.SH DESCRIPTION
+.I Apl
+is an APL interpreter.
+All of the operators are exactly as in apl\e360.
+Overstrikes are often
+required, and they work (use ctrl-h).
+.PP
+Function definition is not what you would expect. Functions are loaded
+from files. The first line of the file is the function header, as you
+would expect it but with no del. The rest of the file is the lines
+of the function. Lines are numbered, but there are no
+square brackets with line numbers. If you say
+)READ FILE it will load the function
+in that file. If you say )EX FILE it will put you in the
+editor to change that file. Upon exit, it will read the file in
+as though by )READ.
+.PP
+All of the usual operators are available, including domino.
+Also available are monadic encode and epsilon.
+.LP
+The following
+.I apl
+system commands are available.
+.TP
+)ASCII
+.br
+changes terminal to accept and print ASCII characters and operators;
+this is the default.
+If you are stuck in APL mode on an ASCII terminal, `"' is `)' and
+lowercase letters map to uppercase.
+.TP
+)APL
+.br
+changes terminal to accept and print APL characters. Erase is set to
+\*W and kill is set to \*a.
+.TP
+)DIGITS n
+.br
+sets the number of digits displayed to n, from 1 to 19.
+.TP
+)FUZZ n
+.br
+sets the fuzz to n.
+.TP
+)ORIGIN n
+.br
+sets the origin to n, which should be 1 or 0.
+.TP
+)WIDTH n
+.br
+sets
+.IR apl \&'s
+idea of your terminal's carriage width.
+.TP
+)ERASE n
+.br
+gets rid of function or variable named n.
+.TP
+)SAVE n
+.br
+saves all variables and functions (workspace) in file named n.
+Workspaces are sensitive to changes in
+.I apl.
+.TP
+)LOAD n
+.br
+gets the workspace in file n (which must have been
+)SAVE'd.)
+.TP
+)COPY n
+.br
+like )LOAD but variables and functions are not erased. Things
+in the loaded file take precedence over stuff already in.
+.TP
+)CLEAR
+.br
+clears the workspace.
+.TP
+)DROP n
+.br
+deletes file n in your directory, which need not be saved from
+.I apl.
+.TP
+)CONTINUE
+.br
+exits and saves workspace in file
+.I continue
+which is loaded next time you run
+.I apl.
+.TP
+)OFF
+.br
+exits
+.I apl.
+.TP
+)READ n
+.br
+reads in a function from file \fIn\fR. The first line is the header,
+with no del's. The full APL\360 header is accepted. All other
+lines in the file are lines in the function. Lines are implicitly numbered,
+and transfers are as usual. There are no labels.
+.TP
+)EDIT n
+.br
+runs the editor
+.IR ed (1)
+on file \fIn\fR, and then )READ's the file when you leave the editor.
+.TP
+)EX n
+.br
+runs the editor
+.IR ex (1)
+on file \fIn\fR, and then )READ's the file when
+you leave the editor.
+.TP
+)VI n
+.br
+runs the editor
+.IR vi (1)
+on file \fIn\fR, and then )READ's the file when
+you leave the editor.
+.TP
+)LIB
+.br
+lists out all of the files in the current directory.
+.TP
+)FNS
+.br
+lists out all current functions.
+.TP
+)VARS
+.br
+lists out all current variables.
+.TP
+)DEBUG
+.br
+toggles a debugging switch, which can produce vast amounts
+of hopelessly cryptic output.
+.SH FILES
+apl_ws \- temporary workspace file
+.br
+continue \- continue workspace
+.SH AUTHORS
+Ken Thompson, Ross Harvey, Douglas Lanam
+.SH BUGS
+This program has not been extensively used or tested.
+.bp
+.SH ASCII CHAR MNEMONICS
+.nf
+.ta 0.5i 1.0i 3.0i 3.5i 4.0i
+
+ & \(*L and # \(mu times
+ \- \- minus + \(pl add
+ < < less than > > greater than
+ = = equal to , , comma
+ % \(di divide * * exponential (power)
+ ! ! factorial and combinations ? ? deal
+ .le \(<= less than or equal .ge \(>= greater than or equal
+ .ne \(!= not equal .om \(*W omega (not used)
+ .ep \(*e epsilon .rh \(*r shape (rho)
+ .nt \(no not (also \'~\') .tk \(ua take (also \'^\')
+ .dr \(da drop .it \(*i iota
+ .ci \(ci circular function .al \(*a alpha (not used)
+ .cl \(lc maximum (ceiling) .fl \(lf minimum (floor)
+ .dl \(*D del (not used) .de \(gr upside down del
+ .jt \(de small circle (null) .qd \(sq quad
+ .ss \(sb right U (not used) .sc \(sp left U (not used)
+ .si \(ca Down U .su \(cu U (not used)
+ .[^ \(gr upside-down del .bv \o'\(lf\(rf' decode (base)
+ .rp \o'\(lc\(rc' encode (rep) .br \(or residue (mod)
+ .sp \(<- assignment (also '_') .go \(-> goto
+ .or V or .nn \o'\(*L~' nand
+ .nr \o'v~' nor .lg \o'*\(ci' log
+ .rv \o'\(ci\(or' reversal .tr \o'\(ci\e' transpose
+ .rb reverse bar .cb \o',-' comma bar ( not used)
+ .sb \o'/-' slash bar .bb \o'\e-' blackslash bar
+ .gu \o'\(*D\(or' grade up .gd \o'\(gr\(or' grade down
+ .qq \o'\(sq\(fm' quote quad .dm \o'\(sq:' domino
+ .lm \o'\(ca\(de' lamp .ib \o'\(rc\(lc\(lf\(rf' I-beam
+ .ex execute (not used) .fr format(not used)
+ .di diamond (not used) .ot out (not used)
+ .ld \o'\(*D~' locked del (not used) ._a A alias for \'A\'
+ ._b B alias for \'B\' ._c C alias for \'C\'
+ ._d D alias for \'D\' ._e E alias for \'E\'
+ ._f F alias for \'F\' ._g G alias for \'G\'
+ ._h H alias for \'H\' ._i I alias for \'I\'
+ ._j J alias for \'J\' ._k K alias for \'K\'
+ ._l L alias for \'L\' ._m M alias for \'M\'
+ ._n N alias for \'N\' ._o O alias for \'O\'
+ ._p P alias for \'P\' ._q Q alias for \'Q\'
+ ._r R alias for \'R\' ._s S alias for \'S\'
+ ._t T alias for \'T\' ._u U alias for \'U\'
+ ._v V alias for \'V\' ._w W alias for \'W\'
+ ._x X alias for \'X\' ._y Y alias for \'Y\'
+ ._z Z alias for \'Z\'
+.fi