I might say:

   +/ , M * M = +/&> {i.&.> $M
6

If I were under pressure (e.g. with Dijkstra in the audience
asking the question) and wanted to avoid any fumbling, 
I might say:

   +/ , M * M = (i.#M) +/ i.{:$M
6

And then from that to successively "better" answers
   +/ , M * M = (#M) +/&i. {:$M
   +/ , M * M = +/&i./ $M
   +/ , M * M = +/&> {i.&.> $M
not forgetting to point out that the last expression 
works for M of any rank.

Dijkstra's question in 1963 was:  How would you represent a 
more complex operation, for example, the sum of all elements of 
a matrix which are equal to the sum of the corresponding row 
and column indices? 



----- Original Message -----
From: Oleg Kobchenko <[EMAIL PROTECTED]>
Date: Wednesday, November 7, 2007 17:00
Subject: Re: [Jchat] why did Dijkstra dislike APL so much?
To: Chat forum <[email protected]>

> What is the standard J answer?
> 
>    ((= +/@#&, [) +/&i./@$)  i.3 4
> 6
>    (+/@#~&, (= +/&i./@$)) i.3 4
> 6
>    (+/@,@:* (= +/&i./@$)) i.3 4
> 6
>    +/,M*M=+/&i./$ M   =. i.3 4
> 6
> 
> 
> --- Roger Hui <[EMAIL PROTECTED]> wrote:
> 
> > I don't know of any and I suspect Ken was too smart to respond.
> > 
> > There was an encounter between KEI and Dijkstra recorded in
> > http://keiapl.info/anec/#Dijkstra
> > 
> > 
> > 
> > ----- Original Message -----
> > From: Richard Hill <[EMAIL PROTECTED]>
> > Date: Wednesday, November 7, 2007 15:21
> > Subject: Re: [Jchat] why did Dijkstra dislike APL so much?
> > To: Chat forum <[email protected]>
> > 
> > > Is there any record, or even an anecdote, of KEI's
> > > own response to Dijkstra's comment?
> > > Richard Hill
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to