4.4BSD/usr/src/old/man/apl.1

Compare this file to the similar file:
Show the results in this format:

.\" Copyright (c) 1980 Regents of the University of California.
.\" All rights reserved.  The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\"	@(#)apl.1	4.1 (Berkeley) 4/29/85
.\"
.TH APL 1 8/26/80
.UC 4
.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