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
