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

Reply via email to