On Tue, Feb 24, 2009 at 2:14 AM, Tracy Harms <[email protected]> wrote:
> 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.

This reminds me a lot of the pretty-printed Literate Programming
approach (CWEB, for example). In this style of LP programming (there's
also the non-pretty-print variety, e.g., noweb), there is a clear
division between writing the code and its subsequent presentation. And
since the focus of LP style programming is on exposition of thoughts,
rather than code-with-comments, this might be an easy way into
experimenting with various ways of presenting J to a reader.

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

Reply via email to