perl@rdin.UUCP (Robert Perlberg) (09/17/85)
Well, the net finally came through with flying colors (if you happen to
have a color terminal). Thanks to Brian Reid for his patience in
answering my question so many times. None of his previous responses
got through to this site. Also, many thanks to
ihnp4!seismo!mcvax!vu44!klipper!biep for sending me the following
manual page.
Robert Perlberg
Resource Dynamics Inc.
New York
{philabs|delftcc}!rdin!perl
APL(1) UNIX Programmer's Manual APL(1)
NAME
apl - an apl interpreter
SYNOPSIS
apl
DESCRIPTION
_A_p_l is an APL interpreter. All of the operators are exactly
as in apl\360. Overstrikes are often required, and they
work (use ctrl-h).
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 edi-
tor to change that file. Upon exit, it will read the file
in as though by )READ.
All of the usual operators are available, including domino.
Also available are monadic encode and epsilon.
The following _a_p_l system commands are available.
)ASCII
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 lower-
case letters map to uppercase.
)APL
changes terminal to accept and print APL characters.
Erase is set to Z and kill is set to A.
)DIGITS n
sets the number of digits displayed to n, from 1 to 19.
)FUZZ n
sets the fuzz to n.
)ORIGIN n
sets the origin to n, which should be 1 or 0.
)WIDTH n
sets _a_p_l's idea of your terminal's carriage width.
)ERASE n
gets rid of function or variable named n.
)SAVE n
Printed 9/4/85 8/26/80 1
APL(1) UNIX Programmer's Manual APL(1)
saves all variables and functions (workspace) in file
named n. Workspaces are sensitive to changes in _a_p_l.
)LOAD n
gets the workspace in file n (which must have been
)SAVE'd.)
)COPY n
like )LOAD but variables and functions are not erased.
Things in the loaded file take precedence over stuff
already in.
)CLEAR
clears the workspace.
)DROP n
deletes file n in your directory, which need not be
saved from _a_p_l.
)CONTINUE
exits and saves workspace in file _c_o_n_t_i_n_u_e which is
loaded next time you run _a_p_l.
)OFF
exits _a_p_l.
)READ n
reads in a function from file _n. The first line is the
header, with no del's. The full APL360 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.
)EDIT n
runs the editor _e_d(1) on file _n, and then )READ's the
file when you leave the editor.
)EX n
runs the editor _e_x(1) on file _n, and then )READ's the
file when you leave the editor.
)VI n
runs the editor _v_i(1) on file _n, and then )READ's the
file when you leave the editor.
)LIB
lists out all of the files in the current directory.
)FNS
lists out all current functions.
)VARS
Printed 9/4/85 8/26/80 2
APL(1) UNIX Programmer's Manual APL(1)
lists out all current variables.
)DEBUG
toggles a debugging switch, which can produce vast
amounts of hopelessly cryptic output.
FILES
apl_ws - temporary workspace file
continue - continue workspace
AUTHORS
Ken Thompson, Ross Harvey, Douglas Lanam
BUGS
This program has not been extensively used or tested.
Printed 9/4/85 8/26/80 3
APL(1) UNIX Programmer's Manual APL(1)
ASCII CHAR MNEMONICS
& E and # x times
- - minus + + add
< < less than > > greater than
= = equal to , , comma
% / divide * * exponential (power)
! ! factorial and combinations ??deal
.le <_ less than or equal .ge >_ greater than or equal
.ne =/ not equal .om Z omega (not used)
.ep S epsilon .rh K shape (rho)
.nt _ not (also '~') .tk |^ take (also '^')
.dr drop .it i iota
.ci O circular function .al A alpha (not used)
.cl | maximum (ceiling) .fl | minimum (floor)
.dl W del (not used) .de [ upside down del
.jt small circle (null) .qd [] quad
.ss right U (not used) .sc left U (not used)
.si Down U .su U U (not used)
.[^ [ upside-down del .bv || decode (base)
.rp || encode (rep) .br | residue (mod)
.sp <- assignment (also '_') .go ->goto
.or V or .nn E~ nand
.nr v~ nor .lg *O log
.rv O| reversal .tr O\ transpose
.rb reverse bar .cb ,- comma bar ( not used)
.sb /- slash bar .bb \- blackslash bar
.gu W| grade up .gd [| grade down
.qq []' quote quad .dm []: domino
.lm lamp .ib |||| I-beam
.ex execute (not used) .fr format(not used)
.di diamond (not used) .ot out (not used)
.ld W~ locked del (not used) ._a Aalias 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'
Printed 9/4/85 8/26/80 4