The A+ Interactive Keyboard Chart

> > A+, as a dialect of APL, uses symbols for its programming operations, rather than keywords, as most languages use. This gives great productivity to seasoned A+ programmers, as each operation is just a keystroke. This use of symbols also means that a tremendous amount of code can be displayed on one page, giving an experienced A+ programmer the ability to see an overview that other languages may not provide.

> > These same symbols, however, may give you fits if you are a new A+ programmer. You may find yourself struggling to locate each of the symbols on the keyboard, to remember their positions for the next time, to know which symbols are important and which ones aren’t even being used, and to even know what to call the symbols. The A+ Interactive Keyboard Chart attempts to give you a hand with these training problems.

> > This facility displays an image showing the placement of each of the A+ symbols and the regular ASCII characters. To use the interactive features, point your mouse cursor to the image of one of the keys — but do not press the mouse buttons. As you point to a key, a table will be brought up on the screen showing information about the symbols on that key.

> > In addition to seeing which symbols are on which keys, here is other information that the interactive facility provides:

> > The proper name of the symbol — that is, just the name of the glyph itself, separate from how it is used. (For instance, “è” is “Delta Stile.”) If there is more than one name in common usage, multiple names may be shown. When there is more than one, the most commonly-accepted name (based upon APL and A+ usage) will be shown first. Names which have limited acceptance are shown in parentheses.
> > Indication (by background color) about whether the symbol is used within A+ or not. Some of the symbols that are in the A+ font aren’t used for any A+ operations. (For instance, “É” is commonly used, while “é” has no assigned purpose in A+.)
> > The class of the operation represented by the symbol: function, operator, punctuation, etc. (For instance, “+” is a function, “¡” is an operator, and “/” can be either, depending upon context.)
> > The name of the monadic function, operator, or operation. (For instance, monadic “è” is “Grade Up.”)
> > The name of the dyadic function, operator, or operation. (For instance, dyadic “è” is “Bins.”)
> > Some tips regarding memory aids about how to remember where the symbol appears on the keyboard, and about why some of the symbols are on the keys that they are on. (For instance, why is the “*” symbol on the “P” key? ...Why are “Â” and “Î” on the “B” and “N” keys? ...How can I remember where the “Ó” and “Ä” symbols are on the keyboard? Once you understand why symbols were put where they are, those keys become easy to remember.)
> > Instructions on how to enter the symbol (Alt or Meta, shift, etc.).
> > The position of the character in the ASCII collating sequence, in both decimal and hex.

> > Color-coding may help you to recognize some of the usage:

> > APL characters which represent A+ operations are shown in RED.
> > Their explanations are shown on a bright yellow background, indicating that they are of primary interest.
> > ASCII characters which are on the standard U. S. keyboard are shown in BLUE. They may or may not represent A+ operations.
> > Their explanations are shown on a medium yellow background, indicating that they are probably of secondary interest.
> > APL characters which have no assigned purpose in A+ GREEN.
> > Their explanations are shown on a light yellow background, indicating that they are probably of little interest, but are included for completeness. The shade of green is somewhat hard to see, and the background is subdued. Both of these were purposely done, to downplay the attention commanded by the characters that are not used by A+.

> > S A M P L E D I S P L A Y

> > An indication of which keys to press is shown. |  | N O R M A L | M E T A |
> > The bright yellow background is a flag that this symbol is used by A+, but because it is neither a function nor an operator, its usage is marked as “purpose”. | S H I F T E D | &

> > SYMBOL NAME:
> >   Ampersand
> > PURPOSE:
> >   Execution stack references
> > REMEMBERING THE KEYBOARD LOCATION:
> >   Standard U. S. keyboard layout
> > [ DEC = 38, HEX = 26 ]

> > á

SYMBOL NAME:
  Circle Bar
  (Aspirin)

  [Unused in A+]

REMEMBERING THE KEYBOARD LOCATION:
  Arbitrary placement; but notice that
  four circle-symbols are grouped together

[ DEC = 225, HEX = E1 ]

The faint yellow background is a flag that this symbol is not used by A+. This is a character that is in the APL font, but it doesn’t represent any A+ operation. Even for unused symbols, though, the name is given.
The medium yellow background is a flag that this symbol is used by A+, but is simply a standard alphanumeric character — nothing special for A+ (secondary interest).
U
N
S
H
I
F
T
E
D

7

NUMERIC

STANDARD USAGE

[ DEC = 55, HEX = 37 ]

>

SYMBOL NAME:
  Greater than
  (Right Angle-Bracket)

MONADIC FUNCTION:
  Unbox or Disclose

DYADIC FUNCTION:
  Greater than

REMEMBERING THE KEYBOARD LOCATION:
  Relational symbols are grouped together
  in a partially-symmetrical series along
  the top row of the keyboard:
  < ¤ = ¦ > ¨ © ^

[ DEC = 62, HEX = 3E ]

The bright yellow background is a flag that this symbol is used by A+.

In addition to the name of the symbol itself, the names of both the monadic and dyadic functions that it represents are given.

A memory aid is given.

The position of the symbol in the ASCII collating sequence is shown, in both decimal and hex.

If you are a newcomer to A+, you may find that some time spent exploring this chart could help you to understand the symbols and the primitive functions a little bit better. Rather than just trying to remember where the symbols are by rote memorization, this facility tries to show you how to make associations that will help you to more easily remember where the symbols are located.

Your questions, comments, corrections, and suggestions are welcome.
We always want feedback. Please e-mail your thoughts to us at “doc@aplusdev.org”.

— A+ Development