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
