I'd say there are at least two compelling reasons to include noun in array:
- reflects underlying structure: in other languages (Lisp, C, Java) scalars are primitives and arrays are composites; in J they are the same; - manifests notion of empty (shape, like empty array) to naturally generalize array, which is distinctive of APL/J. Also it seems the significance of rank>0 arrays is exagerated. It's follows from atom having empty shape that it has one item 1=*/''. (It's the beauty of said generalization.) Where else such distinction is necessary? Oleg On Oct 6, 2007, at 15:04, "Henry Rich" <[EMAIL PROTECTED]> wrote: 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. ----- Original Message ----- From: Henry Rich <[EMAIL PROTECTED]> Date: Saturday, October 6, 2007 11:07 Subject: RE: [Jgeneral] Re: Empty dimensions confuse me To: 'General forum' <[email protected]> 'Array' to include atoms violates normal usage. 'Array' in plain English refers to a bunch of things ordered in some way. Look up the dictionary definition. You'll find something like regular order or arrangement; series The plain, non-tortured reading of this is that an array is something that has axes to be ordered along; in short, it is divisible. It is NOT an atom. 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'. I want 'array' to mean rank > 0 to avoid the clumsy 'non-atomic array'. For example, when I try to define what an 'item' is. It's a cell of rank one less than the noun's rank, unless the noun is an atom, which is a special case. I would like to say: An item of an array is a cell whose rank is 1 less than the array's rank. An atom has one item, itself. ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ____________________________________________________________________________________ Boardwalk for $500? In 2007? Ha! Play Monopoly Here and Now (it's updated for today's economy) at Yahoo! Games. http://get.games.yahoo.com/proddesc?gamekey=monopolyherenow ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
