.de BO [\fB\\$1\fR] .. .TH APL 1 "3 August 1983" .UC 4 .SH NAME apl \- apl interpreter .SH SYNPOSIS .B apl .BO \-m .BO \-e .BO \-q .BO \-r .BO \-t .BO \-c .BO \-C .BO \-d .BO \-D [ws] .br .B apl2 .BO \-m .BO \-e .BO \-q .BO \-r .BO \-t .BO \-c .BO \-C .BO \-d .BO \-D [ws] .SH DESCRIPTION This is the Unix APL interpreter. It has lived through several different versions of Unix and grown steadily more complex. Currently, a version of APL for Unix on the PDP-11 and the VAX is supported. This version supports monadic and dyadic domino, a state indicator of sorts, and Unix I/O quad functions. .PP The best documentation concerning the use of APL once it has been started from the shell is the \fIUnix APL\\11 User's Manual\fR. This manual includes a list of the APL character set, system commands, quad functions, and i-beam functions, as well as an overall description of the use of APL. The specifics are contained in the four appendices for easy reference by the more experienced user. .PP The command invoking APL may optionally contain the name of a workspace file to be loaded (default is ``continue'', or, if ``continue'' does not exist in the current directory, APL starts executing with a ``clear ws''). .PP There are all sorts of flags which may be specified when APL is invoked. Only a subset of these are of general usefulness; the remainder exist for convenience in debugging and software maintenance purposes. In the following description, the flags are presented from those which are of the most general interest to those which are of interest only to persons maintaining APL. .PP Normally, APL runs in ``ASCII mode''. (This is discussed more fully following the description of the various flags.) If ``\-m'' is specified, APL ``maps'' the standard input and standard output as appropriate for use with an APL terminal. .PP By default, APL attempts to determine whether or not the standard input is a terminal. If not, all input will be echoed to the standard output. In this fashion, when APL is run with a pipe or disc file as input, the output clearly shows the commands issued along with their results. The ``\-e'' flag forces APL to echo its input to its output regardless of the input device. Similarly, ``\-q'' (``quiet'') forces APL not to echo its input to the standard output. .PP The flag ``\-r'' has meaning only when the Purdue EE editor XED is used. This flag is passed by APL to XED to invoke funny XED stuff. This is generally a non-portable feature. .PP By default, APL places its scratch files into /tmp. If the ``\-t'' flag is specified, temporary files will be placed into the current directory. .PP By default, APL catches fatal signals (e.g. memory fault, floating-point exception, etc.) and prints a termination message of the form: .IP fatal signal: message .PP It then exits normally. If the flag ``\-c'' or ``\-C'' is specified, it will print this error message and then exit via an ``abort'', producing a core dump. If the flag ``\-d'' or ``\-D'' is specified, it will not catch fatal errors, and thus will be automatically terminated by the Unix kernel if a fatal signal is received. (This will also invoke a core dump.) These flags are useful for debugging APL, but aren't of much use to the ordinary user. .PP The program ``apl2'' is identical to ``apl'' except that ``apl'' is double-precision and ``apl2'' is single-precision. Workspaces are stored in whatever precision is in use, and are converted if necessary automatically when they are ``)load''ed. Effectively, ``apl2'' has twice as much space in its internal workspace. .PP APL is designed to operate principally from ASCII terminals. Upper-case letters are used for the various APL symbols, as described in a separate document. Overstrike characters, which generally will not appear as overstruck characters on a CRT screen, are generated by typing the first character, a control-H, and the second character. The order of the two characters is not significant. The workspace used by APL is stored in this special ASCII format. .PP APL does support APL terminals. To use APL from an APL terminal, it is necessary to specify the ``\-m'' flag when calling APL from the shell; this causes the APL character set to be mapped to/from ASCII for input/output. The workspace file is still stored in ASCII format; thus work may be done interchangeably on both types of terminals. .SH HISTORY APL was originally written at Bell Labs by Ken Thompson, sometime before version six Unix. It was modified for a while at Yale University, and then came to Purdue University, where it has undergone extensive modification. It is currently being supported by the Electrical Engineering Unix network. Complaints, suggestions, or whatever should be forwarded to user ``bruner'' on the EE Network system, or sent to either John Bruner or Dr. Anthony P. Reeves in the school of Electrical Engineering at Purdue University. .SH FILES /tmp/apled.###### - editor temporary file .br /tmp/aplws.###### - workspace temporary file .br continue - default workspace file .SH "SEE ALSO" aplcvt(1) \- convert between PDP-11 and VAX workspace formats .br aplopr(1) \- output APL files to the Printronix printer .br cata(1) \- display functions with APL line numbers .br prws(1) \- print workspace .SH BUGS Character comparisons do not work. .br Only a restricted form of dyadic format is available. Laminate is not supported. .br The workspace size on the PDP-11 is limited to about 5000 items in APL and 10000 in APL2. .br The workspace size on the VAX is limited only by the virtual memory system.