That makes sense. In fact, it makes enough sense that Stephan Herhut has a paper coming up at APL2007 on the topic:
"Generic Programming on the Nesting Structure of Arrays" Bob On Sat, 2007-10-06 at 12:48 -0700, Oleg Kobchenko wrote: > 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 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
