Dydre:
It appears to me that most of your problems with J (viz APL) have to
do with lexing. That is, taking a string of characters and turning
them into J tokens.
First, if you haven't done so already, I suggest you change your
default display form to "box", by selecting
Edit>Configure>Display>Display Form and checking "box" .
You might also consider checking "Allow multiple selections" and
selecting both "box" and "linear", so that you'll see the raw J
followed by its lexed form. This may train you, in time, to parse raw
J by eye.
Second, I suggest you configure your J environment to color different
entities differently, to help you distinguish between them.
For example, you could color verbs and nouns differently, so that it
would be immediately obivous that +.5 is +. 5 and not + .5 .
You could also color primitives differently from (user-defined) names.
So that i:i doesn't look symmetric.
Coloring can even help you at the next level of J interpretation:
parsing. That is, turning a list of tokens into a grammatical
structure.
Just color adverbs and conjunctions differently from verbs. That
would help you see that in 0 10 +/ i.5 the / is different from the
+ and i. and when you reach it, you have to do something
"special" before continuing with the sentence.
You can play with your color scheme at Edit>Configure>Color . Be
sure to press "add" look at the items you can independently color
(e.g. primitives). You can even add your own.
-Dan
PS: APL did NOT process strictly from right to left; APL had
operators too, and they had higher precedence than functions.
In fact, if I'm not mistaken, the APL2 standard (not some vendor's
extension) even had the diamond operator, which had higher precedence
even than operators. It was equivalent to a new line, which meant the
thing to its left was executed before the thing to its right was even
looked at.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm