.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 J. (The is also the same thing as J 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