I take a somewhat more pragmatic approach.

Years ago when teaching APL the first, and largest problem, was to stop students writing poor C in even worse APL. We learn the notation as it is, not from some pre-set ordering; and this true in mathematics. Why should a*b+c mean * first? (and in many cases it doesn't). I've often thought * before +, which is now taught as 'standard', comes mostly from the first Fortran which did use that order. Spoken languages do not, in general,
have a nice logical structure in all cases.

Mathematical notation has grown over the years, sometimes in ways I expect sometimes not. J has changed since the first release was made years ago.

But I want the simplicity of the notation, so I learn it as it is. The only one I still have trouble with is the left argument in dyadic transpose, which differs in J and APL. When all else fails I just experiment on a low rank noun until I get what I want.

I can provide arguments in most cases for what is actually done, but I'm not sure it matters, nor do I think it makes the learning easier.

Ralph Selfridge


On Wed, 23 May 2007, Roger Hui wrote:

This time I do remember, having re-read it only
earlier today.  Quoting from
http://www.jsoftware.com/pipermail/general/2007-April/029638.html

http://www.jsoftware.com/help/jforc/more_verbs.htm
comments on the order of arguments in /: and \: .
In these cases the answer is "obvious".  With
the current order of arguments,
    /: y       \: y
  x /: y     x \: y
it is always the right argument which is being
graded.

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

Reply via email to