.ds a "\s-2APL\s0 .ds a2 "\s-2APL2\s0 .ds f "\s-2FORTRAN\s0 .ds u "\s-2UNIX\s0 .ds qd "[\h'-12u'] .DA .TL UNIX* \*a\\\\11 User's Manual .AU John D. Bruner A. P. Reeves .AI School of Electrical Engineering .br Purdue University .br West Lafayette, IN 47907 .PP .hy 14 This manual is intended to serve as a guide to the use of \*u \*a. .FS *\*u is a trademark of Bell Laboratories. .FE It is not intended to be a reference manual on the \*a language; rather, it describes the local implementation of \*a. .PP Portions of this manual are intended for the new \*a user; persons who have used other \*a systems will probably want to skim most sections, and concentrate on the sections concerning error messages, the state indicator, editing functions, and the appendices. For these users, differences between \*u \*a and standard \*a are noted where appropriate. .NH 1 What's a Workspace? .PP One of the most important concepts pertaining to the use of \*a is the idea of a ``workspace''. Simply stated, a workspace is a collection of information (including both functions and data) to be processed. Programmers accustomed to compiler languages such as \*f may find this concept somewhat unusual so let's explore it a bit further. .PP Perhaps the best way to start describing a workspace is to define another term \(em ``file''. A file is also a collection of information. On \*u, however, a file .I usually contains only one type of information; e.g. a C program or data for a \*f program. A standard program, perhaps written in \*f, may access data in the file by ``opening'' the file and reading it. The file may also be ``created'', written, or removed. .PP \*a differs from \*f in that, while it is running, all of the information it needs is internal to itself. That is, all of the variables that the functions will require are already available. As functions are written, they are added to this internal storehouse of information. As the functions are run, and data is generated, the data is added to this internal storehouse. \*a provides the facility to save part or all of this information in a special format (``workspace'' or "load" format) in a \*u file. This file can only be used by \*a in later runs (it should not, for instance, be printed on the line-printer). .PP In addition, \*a is capable of working with more conventional files, which are in character format and can be edited and displayed outside of \*a. These files are in ``ASCII'' format. .NH 1 Getting Into and Out of \*a .NH 2 Getting on \*u .PP In order to use \*u \*a you must first obtain a \*u account. Your account will have a ``login name'' and also a ``password''. Your login name is your user identifier. Find an unused \*u terminal and turn it on. Hold down the Control key and type a D. The terminal should erase the screen, print a message identifying the \*u system, and ask: .sp login: .sp Type your ``login name'' followed by a carriage return. The system will respond with: .sp Password: .sp Type your password. \*u will not display what you type so someone cannot look over your shoulder at the terminal and steal your account. .PP When \*u is satisfied that you can login it will print the ``message of the day'', which is comprised of any important news about the system, and then it will type out a dollar sign*: .FS *The dollar-sign prompt is used by the ``standard'' shell ``/bin/sh''. If you are using the C-shell (``/bin/csh'') the prompt will be a percent sign. The command interpreter which is used is of little importance for the examples in this manual. .FE .sp $ .sp This is the standard \*u prompt, which means that it is waiting for you to enter a command. .NH 2 How do I start \*a? .PP The answer in this case is extremely simple \(em type the command: .sp $ apl .sp \*a will print a title identifying itself and the date of the current version, will print ``clear ws'', and will then tab 8 spaces to the right. This is \*a's prompt, which means that it is expecting you to type something. The ``clear ws'' message means that you do not have anything in your workspace (no functions or variables have been defined). .PP Equally important to getting into \*a is getting out. To terminate \*a, use the ``)off'' \*a system command. You will once again get the dollar-sign as a prompt.