The cited article has the passage:

 The key adverb was not in the initial version of J. 
 It came in later at the request of the J user community, 
 notably Joey Tuttle. 

This is not consistent with what I remember.
I first saw the idea in the 1980s in
the documentation for the Connection Machine,
http://en.wikipedia.org/wiki/Connection_Machine
which had a machine instruction for doing
x f//.y for a small set of functions f and certain x's.
In any case, the October 1990 dictionary
had u/. with the same definition as now.
(The earliest public version of J, available
at APL90, was dated July 1990.  
http://www.jsoftware.com/papers/J1990.htm
That version did not have "key".)

In any case, it is true that many case of the
special code for u/. are "JKT specials",
implemented in response to code Joey posted
or in expectation that they would be useful
for what he does.



----- Original Message -----
From: "Lettow, Kenneth" <[email protected]>
Date: Tuesday, May 17, 2011 17:37
Subject: Re: [Jprogramming] Aggregation
To: Programming forum <[email protected]>

> Ian,
> 
> I best understood key after reading a book you edited ;-)
> 
> To summarize... http://www.jsoftware.com/jwiki/Doc/Articles/Play151
> 
> All the best,
> 
> Ken
> 
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Ian Clark
> Sent: Tuesday, May 17, 2011 5:09 PM
> To: Programming forum
> Subject: [Jprogramming] Aggregation
> 
> I'm being lazy here. But I need a better answer than I can devil out
> myself. It occurs in a recent submission to Vector...
> 
> I have an array like this (which may be unsorted, and can grow very
> large):
> 
> 1     100
> 1     100
> 1     20
> 1     400
> 2     30
> 2     200
> 2     300
> 33    100
> 33    100
> 33    100
> 
> I want to collapse it to:
> 
> 1     620
> 2     530
> 33    300
> 
> i.e. summing over subheadings.
> The original example had A B C  in place of 1 2 33, but 
> numbers will
> do, to save boxing. We don't know the full set of A B C ... in
> advance. Nothing to be assumed about the first column, except it is
> +ve integers. But I'm also interested in the case where the first
> column lies in the set: i.(n) for some n>0. In other words they 
> can be
> squashed up.
> 
> 1. There's simply got to be a "jem" to do it. Suggestions, please.
>       - Transpose the array if you wish. Box it: 1 100 ; 1 100 ; 1 20
> ; ...
> -whatever.
>       - No, of course I don't want a looping solution :)
> 
> 2. What do you call this process? I call it "aggregation" -- but I
> think the name differs across disciplines.

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

Reply via email to