That's a good way to think about "frames of cells". Rank-3 array could be vector of matrices (with "2 or "_1) and matrix of vectors (with "1 or "_2).
Oleg On Oct 6, 2007, at 15:23, Roger Hui <[EMAIL PROTECTED]> wrote: "A Programming Language", 1962, page 39: Although in certain fields, such as tensor analysis, it is convenient to define more general arrays whose _rank_ specifies the number of levels of structure (i.e. zero for a scalar, one for a vector of scalars, two for a vector of vectors (matrix), three for a vector of matrices, etc.), ... ----- Original Message ----- From: Henry Rich <[EMAIL PROTECTED]> Date: Saturday, October 6, 2007 12:04 Subject: RE: [Jgeneral] Empty dimensions confuse me To: 'General forum' <[email protected]> You can not use the normal English meaning of "array" to make this argument. Array has a special meaning in mathematics/computer science, wherein its meaning is due in no small part to its usage in APL (and J). I realize that J can use the terms any way it wants to, but I suggest to you that you shouldn't depart from standard meanings without sufficient reason. It is up to each of us to decide what is sufficient; we talk about it to try to establish a common terminology. [Sometimes the Dictionary terminology is so wrong, as in using the term 'global assignment' for something like abc_xyz_ =: 5, that agreement is impossible] I would use 'noun' to mean 'array or atom' in the cases you mention. Why have two words to mean the same thing? Currently, 'noun' = 'array'. So you would say "functions apply to noun arguments and return noun results". That mixes two metaphors: noun verb adverb conjunction array function operator I would say 'verbs apply to nouns operands and produce noun results'. I would never use the word 'operator' because to a mathematician/physicist it means a modifier, while to a C programmer it means a verb. I would also be wary about calling something a 'function' when it can return different values on successive calls with the same operand. So when I'm talking J, I would say 'verb'. I would use 'array' to mean a noun that has dimensions, and 'atom' to mean a noun that does not. 'Noun' covers both cases. I want 'array' to mean rank > 0 to avoid the clumsy 'non-atomic array'. If "non-atomic array" is clumsy, then "array and atom" is no less so, and would be used much more. e.g. What does the monad [EMAIL PROTECTED] do? It finds the rank of an array (or atom). For that matter, what does the monad $ do? Finds the shape of an array (or atom). [EMAIL PROTECTED] finds the rank of a noun, and $ finds the shape of a noun. What's hard about that? Once you get over thinking that 'array' must include atoms, you can get down to the real issues: 0) Do we need a word for 'non-atomic noun'? I say yes. 1) Is there a better word than 'array'? I say no. 2) Would people be confused by a change in terminology? I say no. ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ____________________________________________________________________________________ Moody friends. Drama queens. Your life? Nope! - their life, your story. Play Sims Stories at Yahoo! Games. http://sims.yahoo.com/ ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
