Think about matrix multiplication - a scalar can multiply any matrix but to 
multiply two matrix - they need to be the same shape
Donna 
[email protected]


On 2010-10-25, at 10:54 PM, Roger Hui wrote:

>> But if I mean 'any scalar or array', I have the 
>> word 'noun' for that.  
> 
> They don't have the word "noun" in APL.
> 
>> I just don't see why the word 'array', which in plain English denotes 
>> an arrangement of (multiple) things, should have to include scalars.
>> Sue me.  Or change the standard.
> 
> Look at the texts I quoted.  For example, the function
> + takes arrays arguments, scalar or arrays of higher rank.
> If arrays don't include scalars you'd constantly have to
> say "arrays or scalars".   You can not use "multiple" to 
> determine whether something is or is not an array, 
> for surely you would not say that ,99 or 1 1$99 or 1 1 1$99 
> are not arrays?
> 
> The APL standard uses "array" in that way for a good reason.
> "Array or scalar" in APL is a fiction.  I don't believe there is 
> anything in the APL literature that says that a scalar is 
> not an array.  For the same good reason.
> 
> 
> 
> ----- Original Message -----
> From: Henry Rich <[email protected]>
> Date: Monday, October 25, 2010 19:11
> Subject: Re: [Jgeneral] "J In A Day" --crits please
> To: General forum <[email protected]>
> 
>> I teach the kids that 'scalar' and 'atom' mean a rank-0 thing, 
>> and 
>> 'array' means rank > 0.  Yeah, I know it's not 
>> standard.  But if I mean 
>> 'any scalar or array', I have the word 'noun' for that.  
>> And the 
>> distinction between scalar and array is important enough to have 
>> words for.
>> 
>> My way, I can give them some simple things to memorize:
>> 
>>    An array is a list of its items.
>> 
>>    The items of an array have rank one less than the array.
>> 
>>    #array is the same as {.$array.
>> 
>>    A DLL descriptor of *c matches an array of characters.
>> 
>> I just don't see why the word 'array', which in plain English 
>> denotes an 
>> arrangement of (multiple) things, should have to include scalars.
>> Sue me.  Or change the standard.
>> 
>> Henry Rich
>> 
>> 
>> On 10/25/2010 9:19 PM, Roger Hui wrote:
>>> I had/have been an APLer for many years and I have
>>> never heard of scalars not being arrays.  As far as
>>> I know 99 is not just now deemed an array but
>>> have always been deemed an array.  I'd be interested
>>> in any APL reference you can find that says otherwise.
>>> 
>>> A more ancient reference for that fact that a scalar is an array.
>>> Falkoff and Iverson, The APL\360 Terminal System, 1967-10-16.
>>> http://www.jsoftware.com/papers/APL360TerminalSystem.htm
>>> 
>>> - A vector has a “rank” of one, the term being used,
>>> as in tensor analysis, to mean the number of indices
>>> required to identify a single element in an array.
>>> Hence, a scalar has rank zero and a matrix has rank two.
>>> 
>>> - No special notational convention is required for the
>>> element-by-element extension, so that in the expression a+b ,
>>> for example, a and b may be any pair of matching arrays.
>>> If one argument is a scalar the other may be any array, ...
>>> 
>>> ---
>>> 
>>> In any case, you have not addressed the practical point
>>> I raised:  if a scalar is not an array, you are going to
>>> need a term for "array or scalar".  Another way to
>>> look at it is, why is it useful to distinguish between
>>> an array and a scalar?
>>> 
>>> Whether a scalar is an array is not a statement that
>>> you can prove one way or the other, and you have to
>>> decide on considerations in the preceding paragraph,
>>> or considerations similar to same.
>>> 
>>> Finally, why is it counter-intuitive that a scalar is
>>> an array?
>>> 
>>> 
>>> 
>>> ----- Original Message -----
>>> From: Ian Clark<[email protected]>
>>> Date: Monday, October 25, 2010 17:44
>>> Subject: Re: [Jgeneral] "J In A Day" --crits please
>>> To: General forum<[email protected]>
>>> 
>>>> Thanks, Roger, for the ref to the ISO standard: ISO 13751. Wow,
>>>> haven't things moved on since I was involved with the draft ISO
>>>> standard in 1992. I'd buy myself a copy, but they want $292 just
>>>> for a
>>>> lousy PDF. But yes: thanks for reminding me the Dyalog 
>> manuals are
>>>> free.
>>>> 
>>>> No, I didn't really think you'd get it wrong. But I confess 
>> I'm amazed
>>>> that scalar 99 is now deemed an "array"! I thought I knew APL,
>>>> but I'd
>>>> never heard that one. (Yes, I knew about rank zero.)
>>>> 
>>>> I'm now going to ask all my APL friends: "did you know 99 is an
>>>> array?" -- and see what they say.
>>>> 
>>>> But you know what I think? I think it's counter-intuitive, 
>> and that's
>>>> the sort of thing that gets APL a bad name. And not just APL...
>>>> 
>>>> I refuse to get into disputes about which is the better
>>>> language: APL
>>>> or J. What's more, "reductio" arguments don't work with me either,
>>>> unless I'm convinced we start from the same premises -- which
>>>> I'm not.
>>>>    I've spent my programming career porting code, 
>> and there
>>>> is no
>>>> "better" or "worse" language for me. There is just a source 
>> and a
>>>> target language. Which is which? Well, (1) who's paying? (2)
>>>> which way
>>>> does he want to migrate his code?
>>>> 
>>>> I haven't touched APL for over a year now, but I've coded
>>>> heavily in
>>>> J. The reasons for that won't impress you. If you ask me 
>> which I have
>>>> any warm feeling for, I have to say APL... in the same way a doctor
>>>> prefers a sick patient to a healthy one. It's made me a living,
>>>> and a
>>>> good one.
>>>> 
>>>> I've offered to write this crash-course for APLers. Some of 
>> them are
>>>> proud of their skill in the language -- and they don't respond
>>>> positively to having it dissed. I'm going to need to purge my 
>> answers>> of all insinuation that APL is rubbish. People will be 
>> so relieved!
>>>> "It's about J and it doesn't rubbish APL...!"
>>>> 
>>>> But I know what they're going to ask: what's with all these
>>>> nouns and pronouns?
>>>> 
>>>> I've asked on this list: "what's a pronoun"? I still don't 
>> know the
>>>> answer (with my APL hat on, let me stress). I'm going to have 
>> to say:
>>>> "it's only metalanguage." (...right: where's it formally
>>>> defined?) "It
>>>> isn't. The documenters want you to read their minds." (...ok,
>>>> give me
>>>> a clue.) "I can't. In two year's time you'll think it's all 
>> perfectly>> natural" (...meanwhile...?)
>>>> 
>>>> Ian
>>>> 
>>>> 
>>>> On Mon, Oct 25, 2010 at 3:39 PM, Roger 
>> Hui<[email protected]>  wrote:
>>>>> No, I don't mean "array or scalar", I meant "array".
>>>>> Let me cite two sources:
>>>>> 
>>>>> 0. Dyalog APL Language Reference/Variables/Arrays: -
>>>>> A Dyalog APL data structure is called an array. ... An array
>>>>> may have 0 or more axes.
>>>>> 
>>>>> 1. ISO/IEC 13751-2001, ISO Standard on Extended APL,
>>>>> Section 5.3.2: Scalar: An array whose rank is zero.
>>>>> 
>>>>> As well, in practice, if a scalar in APL is if not an array,
>>>>> then when you talk about APL you'd be constantly saying
>>>>> "array or scalar" rather than just "array".   (I was
>>>>> once asked by non-mathematicians why 1 is not
>>>>> a prime.  After 5 seconds of thought I said,
>>>>> "because it makes lots of statements simpler".
>>>>> (As it is, you already have statements in math of the
>>>>> sort "let n be an odd prime".))
>>>>> 
>>>>> In APL, if a "value" can only be an array, what word or
>>>>> words would you use when you need to say "the x of
>>>>> a phrase", when the phrase can be +/ or +/ 1 2 3
>>>>> or . or ¨?
>>>>> 
>>>>> Reading your statements about "variable" in APL,
>>>>> with descriptions of quad-nc, artificial restrictions on
>>>>> reassignment, quad-ex, etc. etc.,   it strikes me that
>>>>> in contrast the meanings of "noun" and "pronoun"
>>>>> are simpler and more precise (less variable ...) than
>>>>> in APL. Even more so in any APLs which do not
>>>>> allow names be assigned to a function via ← .
>>>>> (Then functions can only be named as a side effect
>>>>> of ⎕fx or of an edit session.)  One more thing:
>>>>> Dyalog APL, which does allow sum←+/, does not
>>>>> allow each←¨ .  Explain that one.
>>>>> 
>>>>> 
>>>>> 
>>>>> ----- Original Message -----
>>>>> From: Ian Clark<[email protected]>
>>>>> Date: Monday, October 25, 2010 0:38
>>>>> Subject: Re: [Jgeneral] "J In A Day" --crits please
>>>>> To: General forum<[email protected]>
>>>>> 
>>>>>> Roger,
>>>>>> 
>>>>>> I'd call sum a "variable" in APL if-and-only-if ([]NC 'sum')
>>>>>> returns 2.
>>>>>> 
>>>>>> In Dyalog APL (I don't have it installed on my Mac) I seem to
>>>> recall>>  you can indeed write:
>>>>>>         sum←+
>>>>>> but  []NC 'sum' would afterwards return 3, telling me it's
>>>>>> a function
>>>>>> (...whatever else it might have been before).
>>>>>> 
>>>>>> So... "what do you call a name in APL whose referent is a
>>>> function?">>  -- A function name.
>>>>>> 
>>>>>> Moreover I think most APLs won't let you change "sum", say,
>>>> from a
>>>>>> variable name to a function name by reassigning it. Even if
>>>> functional>>  assignment is permitted. The statement (sum←+)
>>>> causes an error
>>>>>> if sum
>>>>>> is already defined in the workspace as a variable, and you 
>> haven't>>>> freed-up the name 'sum' for reuse by localisation or []EX.
>>>>>> 
>>>>>> I use "value" (...but only in an APL context, let me
>>>> emphasise) to
>>>>>> mean "something that can be assigned to a variable" (...and
>>>> it still
>>>>>> remains a variable). I think a lot of APLers would agree 
>> with that.
>>>>>> It's a more restricted meaning of "value" than you imply in
>>>> the J
>>>>>> context, which it seems to me means anything acceptable to
>>>> the right
>>>>>> of a copula. Or, more precisely, any entity that is 
>> returned by
>>>>>> evaluating a phrase which can validly stand to the right of a
>>>> copula.>>
>>>>>> You say that "noun" in J corresponds directly and exactly
>>>> with "array"
>>>>>> in APL. Was that a mistake... don't you mean "array or scalar"?
>>>>>> (...commonly expressed as "vector or scalar" -- "array" not
>>>>>> being a
>>>>>> proper APL term, and [APL] "vector" not being restricted to 
>> 1-D
>>>>>> arrays.) Surely you don't mean me to infer that 99 is not a noun
>>>>>> in J
>>>>>> because it is not an "array" in APL?
>>>>>> 
>>>>>> I'm not interested in challenging Ken's appeal to his implicit
>>>>>> understanding of English Grammar (which I deny is necessarily
>>>>>> mine, or
>>>>>> indeed anyone else's) to convey programming ideas. He's allowed
>>>>>> to do
>>>>>> that. I just want a precise enough notion of "noun/pronoun" 
>> --
>>>>>> as it
>>>>>> applies to J -- so I can point to something in J code and 
>> say with
>>>>>> confidence "that's a noun" or "that's a pronoun".
>>>>>> 
>>>>>> Ian
>>>>>> 
>>>>>> 
>>>>>> 2010/10/25 Roger Hui<[email protected]>:
>>>>>>>> But Ken talks of "analogies", and seems to use the word "noun"
>>>>>>>> to mean a value or quantity: the result of an expression,
>>>> not the
>>>>>>>> variable -- or named memory location -- it's stored in. What,
>>>>>> in J,
>>>>>>>> corresponds to an APL "variable"?
>>>>>>> 
>>>>>>> "Noun" in J does not mean value.  It corresponds
>>>>>>> directly and exactly to "array" in APL.  A value can
>>>>>>> be a verb (function), for example, "the value of the
>>>>>>> sentence +/ is a verb that does summation".
>>>>>>> 
>>>>>>> Regarding your last question, It depends on how
>>>>>>> "variable" is used in APL.  If you say sum←+/ 2 3 4,
>>>>>>> I think you'd call "sum" a variable.  But if you say
>>>>>>> sum←+/, is "sum" still a variable?  If not, what is
>>>>>>> the difference, and what do you call a name in APL
>>>>>>> whose referent is a function?  If yes, doesn't it
>>>>>>> sound jarring to your ears?  (It does to mine.)
>>>>>>> 
>>>>>>> And, a question Ken used to ask:  if sum←1 2 3,
>>>>>>> what is variable about "sum"?
>>>>>>> 
>>>>>>> Some APL texts also calls .5 and 1 2 3 and 'abc'
>>>>>>> "variables, that is, used "variable" and "array"
>>>>>>> as synonyms.  Ken's question is even more pertinent
>>>>>>> in those cases:  If ever .5 has a different value
>>>>>>> ("varied"), I expect to get system errors shortly
>>>>>>> thereafter.
>>>>>>> 
>>>>>>> There is a table in the dictionary section II. Grammar:
>>>>>>> http://www.jsoftware.com/help/dictionary/dict2.htm
>>>>>>> 
>>>>>>> PARTS of SPEECH
>>>>>>> 
>>>>>>> 50 
>> fahrenheit           Nouns/Pronouns
>>>>>>> + - * % bump    Verbs/Proverbs
>>>>>>> / \     Adverbs
>>>>>>> &         Conjunction
>>>>>>> ( )     Punctuation
>>>>>>> =:      Copula
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> ----- Original Message -----
>>>>>>> From: Ian Clark<[email protected]>
>>>>>>> Date: Sunday, October 24, 2010 12:21
>>>>>>> Subject: [Jgeneral] "J In A Day" --crits please
>>>>>>> To: General forum<[email protected]>
>>>>>>> 
>>>>>>>> First draft of an article for eventual submission to VECTOR
>>>>>> entitled>>  "J In A Day".
>>>>>>>> 
>>>>>>>> http://www.jsoftware.com/jwiki/JinaDay
>>>>>>>> 
>>>>>>>> It is "work-in-progress". It represents an "alpha" offering,
>>>>>> not a
>>>>>>>> "release" or "publication". It's aimed squarely at the
>>>> APLer who
>>>>>>>> doesn't know any J.
>>>>>>>> 
>>>>>>>> There won't be many such on this list. But right now I'm keen
>>>>>> to get
>>>>>>>> the J right.
>>>>>>>> 
>>>>>>>> The prevalent message to APLers coming to J is: un-learn
>>>> everything>>  >>  you know about APL (it's not 
>> helpful) and learn
>>>> J from first
>>>>>>>> principles. I think this erects an unnecessary barrier to the
>>>>>>>> dwindling(?) band of APLers ignorant of J.
>>>>>>>> 
>>>>>>>> Of course the barriers may be there anyway. I recall my first
>>>>>> exposure>>  to J aroused antipathy in me. I can't 
>> quite remember
>>>>>> why. A Kuhnian
>>>>>>>> paradigm-shift may be inescapable--or at least the need for
>>>>>> one. The
>>>>>>>> article deliberately avoids being starry-eyed so as not to
>>>>>> raise the
>>>>>>>> APLer's hackles. But this is not meant as provocation to the
>>>>>> J-er.
>>>>>>>> 
>>>>>>>> There's a fairly defiant "admonition" (as MoinMoin calls it)
>>>>>> to J
>>>>>>>> experts -- but don't be put off. I would really 
>> appreciate your
>>>>>>>> comments. So get your anoraks on... ;)
>>>>>>>> 
>>>>>>>> Of course, if an APL-er knowing absolutely no J were to work
>>>>>> through>>  it, and confirm (or deny) it was of use to 
>> them...>>>> that would
>>>>>>>> get me
>>>>>>>> on like 7-league boots.
>>>>>>>> 
>>>>>>>> BTW I use the J terms "proverb" and "pronoun" in it. I
>>>> need to
>>>>>>>> know if
>>>>>>>> I'm using them correctly. See my separate posting.
>>>>>>>> 
>>>>>>>> Thanks, Brian, for the Iverson ref. From the horse's mouth,
>>>>>> so to
>>>>>>>> speak. But Ken talks of "analogies", and seems to use the
>>>>>> word "noun"
>>>>>>>> to mean a value or quantity: the result of an expression,
>>>> not the
>>>>>>>> variable -- or named memory location -- it's stored in. What,
>>>>>> in J,
>>>>>>>> corresponds to an APL "variable"?
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

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

Reply via email to