[net.lang.apl] stropping?

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