Pesch@cup.portal.com (Roland Henry Pesch) (12/27/88)
Here at last, as offered some time ago, are the Iverson keywords for representing APL glyphs in a natural-language-independent fashion. First, a correction---I think I said this comes from the Dictionary of APL published in Quote Quad 18 2; I missed the issue number by one. The correct reference is to Quote Quad 18 1. The keyword table is published as "Table 1: APL alphabet and ASCII transliteration" of the Dictionary. At the foot of the table, Iverson notes: "The ASCII transliteration scheme in the last column is based upon *similarity*, English-Greek *correspondences*, and *variants*, denoted by an extra delimiter (@) and varying by rotation about a horizontal or vertical axis. Each transliteration which begins with a delimiter must end with a space." Iverson tells me that for the choice of delimiter (or APL escape) as @, he is indebted to Prof. L.J. Dickey, editor of Quote Quad. Earlier drafts of the Dictionary used '.', which is less obtrusive but also occurs much more frequently in numbers, as an APL conjunction, and in text in general. The choice of @ strikes me as a very useful one---it is an unusual character, and it is sometimes used as an escape in other contexts as well. The keywords themselves follow. The table below cannot be a literal quote of the one from the Dictionary, since the original shows both glyphs and keywords. I believe APLers will recognize most of the keywords readily; to help get the hang of it, I'm also listing beside each keyword the function names commonly associated with the primitive it represents. When a glyph represents different extensions in APL based on Iverson's Dictionary and in APL2, I've tried to give both descriptions. In the last column, where available, I also give the name Iverson lists as the character's name (as a glyph). The table presented here differs from the table as published in Quote Quad in two ways, both to reduce my typing: (1) I have omitted all APL glyphs (such as + and /) that are part of ASCII and hence have no keywords, even though the Dictionary's Table 1 lists the complete APL alphabet; (2) the order of presentation is different---this table is based on a table I use to support keyword-transliteration functions. The order is what I found convenient when keying in that table, and probably reflects the @[] av on some system or other. @ (The escape character itself: represented by at-blank, the minimal keyword) **Note: this one isn't actually in the Dictionary. It's what I use for this purpose.) @[-:] Matrix Inverse, quad-divide Domino @@To Execute (mnemonic: inverted thorn) Tack @@DI Grade Down (mnemonic: inverted Grade Up) Spine @@D~ Del tilde (function locking) @['] Quote Quad @I^ Take Pike @-> branch, go-to @Iv Drop Spike @<- Assignment, "is", "gets" @-I Left; "lev"; "right tack"; "left pointing tack" @@T Base Value (inverted Representation) Base @I- Right; "dex"; "left tack"; "right pointing tack") @@c (Dictionary) link; (APL2) disclose; "right shoe" (reversed left shoe) @>_ Greater Than or Equal (not less than) @<_ Less Than or Equal (not greater than) @@L Ceiling, maximum (inverted floor, min) Upstile @=/ Not Equal, Different @=_ match, identical, idem @- negative sign Macron @<> diamond Diamond @-: divide, reciprocal @[] Quad Quad @@D del (open/close fn defn) Del @no comment Lamp @o" (Dictionary) on, fn composition: Paw jot overstruck w dieresis @"O (Dictionary) upon, fn composition: Hoof circle overstruck w dieresis @OI Reverse, Rotate (last axis) @O- Reverse, Rotate (first axis) @O\ Transpose @O* Log @v~ Nor; not-or @^~ Nand; not-and @To format (thorn) Thorn @DI Grade Down Spine @\- Scan along first, expand along first @,- Catenate along first ("commabar", "drip") @/- Compress/replicate along first, reduce along first @T Representation, Antibase @u (union set symbol) Cup @c (Dictionary) Swap (commute);(APL2) enclose ("left shoe") @n Intersection Cap @v Or, GCD @L Floor, Minimum Downstile @I Absolute value, Residue Stile @x Signum, Times Cross @" (Dictionary) With, Under Dieresis @o Jot ("null") Jot @O Circular fns, Pi Times Circle @a alpha Alpha @D delta Delta @e membership Epsilon @i iota, Count, Index Iota @r Shape, Reshape Rho @w omega Omega That's the table! Samples of code represented this way, made up of possibly useful functions to convert to and from this keyword representation, will be posted as separate news items. /Roland Pesch mail will reach me fastest at: pesch@pa.reuter.com which is the same as: ...sun!saxony!pesch or: ...hoptoad!saxony!pesch mail will also reach me at: pesch@cup.portal.com (but I don't check this one very often).