.NH 2
What are all of those funny characters?
.PP
Part of the power of
\*a
comes from the fact that it has so
many primitive operators,
usually referred to as ``functions''
in the \*a literature.
That is,
many common functions,
from addition and subtraction,
to trigonometric functions,
and to matrix operations,
can be specified with a couple of characters.
As a result,
the character set for
\*a
does look a little strange.
Basically,
there are two major types of primitive
functions.
The most common functions,
such as the arithmetic operators,
etc.,
are represented by a single character.
For example,
the symbol ``+'' represents addition.
Because there are only so many keys
on the keyboard,
the other operators in \*a,
for example, matrix inversion,
are called ``overstrike'' characters.
An overstrike character is treated
as one symbol by \*a,
but requires three keystrokes on the
terminal.
One common example is the ``comment''
symbol.
This symbol is composed of the
three characters:
C <backspace> J.
(The is also the same thing as
J <backspace> C.)
On an \*a terminal,
the equivalent characters are
``intersection'' and ``jot''.
.PP
This brings up another point.
\*u \*a is capable of
operating with one of two character
sets.
By default,
the ASCII character set is used,
since most computer terminals implement
at least this set.
When this character set is in use,
lowercase letters are used to
form variable and function names.
Special symbols,
such as ``+'',
and the uppercase letters
are used to form the \*a operators.
To run \*a from an ASCII terminal,
the command is simply:
.sp
$ apl
.sp
.PP
\*a may also be instructed to use
the \*a character set.
This is useful only on an \*a
terminal.
ASCII is always used internally,
so work may be done interchangeably
on both \*a and ASCII terminals.
If you wish to use the \*a
character set rather than the ASCII
character set, use the command:
.sp
$ apl -m
.sp
A list of the character set for \*u
\*a appears in Appendix A.
.so purdue
