Don Watson initiated a conversation under the title "Teaching" on the
General forum. I'd like to sketch out some further thoughts along
these lines.

Among the most important strengths of J are its notational nature and
its extraordinarily simple, general syntax. The spelling of its
primaries, while semantically admirable in ways that have been
elaborated by others, leads to difficulties of recognition. Iverson's
notation eliminates the syntactic patterns that are rooted in spoken
language, which means that cues we commonly rely upon to identify
patterns by sentence structure are missing. A good deal of concision
results from that choice, but it means that many more elements must be
interpreted on their own rather than within a larger pattern.

The difficulty with two-character primaries is not that they are less
concise. The extra length is irrelevant. The difficulty comes mostly
from the fact that the primary symbols have been constructed from
characters that evolved as minor modifiers; they are hard to read
because their primary use relies on their being unobtrusive. Take a
text, eliminate all the punctuation, and you have a text that does not
look very different from the original. Even the space character is in
this class. (Most ancient languages were written without spacing
between words.) Punctuation characters are not well suited to be
understood on their own, in large part because many look very much
alike, and especially because they are mostly diminutive.

Mind you, ASCII punctuation marks are what K.E. Iverson had to work
with. He did a fine job with what he had, but his work here was
distinctly bricolage, in contrast with his original decision to use
symbols that extended his success at the chalkboard.

I agree with Don (and several others) that J will benefit from
improved display, and that this can be accomplished without departing
from the established spelling of J primaries. At this moment I won't
elaborate on particulars except to say that I envision @: being
displayed as a small black circle (a.k.a. bullet) and @ as a small
unfilled circle (as in the math notation that inspired it.)

Let me go beyond the idea of replacing, (for display only, not typing
or text editing,) J primaries with improved (but visually similar)
symbols. What I think J naturally leans toward is having symbols stand
in for defined names. Again, this can be done while having the text
that is typed (and also copied, pasted, and saved) be standard text,
but the display show something else. The defined name could be 'Aleph'
and the display be the Hebrew character of that name. All the Unicode
characters would be readily available in this manner. Other symbols
could be supported, too. In fact, they can include hieroglyphs, in
which case Donald McIntyre's phrase "from hieroglyphics to APL" will
look more like a circle!

Long variable names strain the symbolic structure in which J is
strongest. Symbolic substitution for defined values will amplify one
of J's greatest strengths. (Haskell's support for user-defined
symbolic operators is worth noting, here.) I anticipate that once
editors are built that support this sort of visual enhancement they
will be favored in many circumstances, perhaps most.

No change whatsoever would be needed from J Software for such a thing
to occur; the language specifications would persist untouched.


Tracy Harms
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to