.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.
