pollack@uicsl.UUCP (12/05/83)
#R:rabbit:-222300:uicsl:6300001:000:1752 uicsl!pollack Dec 4 13:49:00 1983 Looking thorugh my old issues of QuoteQuad, I found three articles on APL and ASCII: Bennett, J. "ASCII APL -- A `Minimum Mission' Proposal" APLQQ 12 3 March 1982 Crick, M.F.C. "An ASCII Notation for APL" APLQQ 11 1, Sept. 1980 "The APL-ASCII Overlay Standard" APLQQ 8 2, Dec. 1977 The first article proposes a minimal representation, of using single ASCII characters whenever possible, and resorting to two character codes when necessary. The results are very unreadable. This is similar to the format used by DEC versions of APL, which uses three character symbols beginning with periods (.rh .it, etc) This is available on your VAX or PDP11, and is very useless. The third article is just about how to translate APL back and forth to ASCII, for transmission of articles over networks, I suppose. The best by far is Crick's proposal, in which the primitive functions and operators are transformed into short words, like "go", "take", "shape", etc. The disadvantage is the loss of brevity, which every ASCII representation will suffer. The main advantage is a cognitive one; APL programmers usually read code and think visually about the symbols and their function, and the APL symbols were designed with archetypal considerations (circle for trig functions, floor & ceiling, etc.). With Crick's representation, programmers can read code and think VERBALLY of the functions. its hard to think verbally of reshape as .rh or index as .it. I used to be a great APL wizard. but I haven't used it in 4 years because there is no APL terminal on campus at the University of Illinois. A good ASCII version would be so welcome. For the past 4 years, I have been using LISP instead. Jordan Pollack Univ. of Illinois ..pur-ee!uiucdcs!uicsl!pollack
ejg@brunix.UUCP (Eric Golin) (12/07/83)
APL's supplied by DEC (APLSF and VAX-11 APL) use "TTY mnemonics" which I found easy to remember. They are either derived from the function, as in .TR for transpose, or from the single-strike character, as in .RO (rho) for reshape (not .rh!) and .IO (iota) for index (not .it!). One advantage of this approach is that the three character mnemonic is interpreted as the single APL character, which allows it to be used inside quoted literals, etc. This is very useful in an environment where some but not all of your terminals support APL characters. eric golin