Thanks for your comments, Raul and Don.
My name is Bruno and I just joined your mailing list.

> It's trivial to uncompress J tokens (add spaces between tokens). To read and
> quickly comprehend an expression in J or any language requires practice.
> Why do all programming classes teach people how to write a programming
> language? Shouldn't they also teach people how to read the language? Germans
> have no problems with looooong words, but I can't read it. Chinese and
> Japanese have no problems with a token representing an entire word or
> concept. Why? They have practiced reading for years. How many people
> practice reading a programming language? They just complain that the program
> isn't well documented with comments. And they slug their way through it,
> eventually they comprehend the program.
> 
> Personally I get overwhelmed with all the parentheses in Lisp. But I'm sure
> if I practiced reading Lisp it would not be a problem. One doesn't
> comprehend the implications of Maxwell's equations in a glance, no matter
> what the notation.
> For information about J forums see http://www.jsoftware.com/forums.htm

I respect your experience very much and I agree with you that it's possible to
recognize the words of a J programm pretty fast after some training -- whether
there are spaces or not. What bothers me is rather that I'll probably never be
able to see the _valence_ of the verbs (and thus its unambiguous meaning)
fast, because for this one has to count the verbs: In a verb train with an
even number of members (counting the verbs joined by conjunctions as one), you
have a hook and all verbs at odd positions (counting from the right beginning
with 1) are used monadically and the other ones dyadically. In a verb train
with an odd number of members you must look for the presence of a noun
expression on the left. If there is one, you now that all the verbs are used
dyadically, otherwise they are all nomads. It gets more complicated with
dyadic & and the like. All this has to be done recursively on conjunction
expressions and verbs enclosed in parentheses. I will be slow in reading such
expressions and the complexity of an expression that will be understandable
without using paper and pencil will be limited.

So I propose the spaces not for recognizing the words but for being able to
disambiguate the words and still use symbols for them. The 7-bit ASCII character
set just isn't enough for doing mathematics, even if you use dot and colon
suffixes. 

I'm fascinated by Mr. Iverson's "Language as a Tool of Thought" and many ideas
he had and I really want to use some variant of his languages as a
mathematical notation. But with the valence ambiguities still present I fear
that I rather will be slowed down in finding a mathematical proof or a
solution to an equation. Being able to grasp an equation at a single glance
is important for doing mathematics and I think it was Iverson's dream that one
day, we'll be able to recognize and transform computer programs in the same
easy way as we're doing algebra and calculus at high school.

Best regards
  Bruno Daniel
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to