Current issue

Vol.26 No.4

Vol.26 No.4


© 1984-2017
British APL Association
All rights reserved.

Archive articles posted online on request: ask the archivist.


Volume 22, No.3

Ken Iverson at the End of the World

From Richard Hill

I am unaware of Iverson visiting Kerguelen, or even Perth, WA, so we can consider his visit to Melbourne, Australia in November 1994 the furthest he ever got from his origin in Alberta.

Melbourne is the capital of Victoria. The State of Victoria is the inverse of the Province of Alberta (regally) which should appeal to a J-ish sense of humor. Iverson came to Australia to run a workshop in J, sponsored by Walter Spunde of the University of Southern Queensland. After the workshop he came down to Melbourne to give a lecture at Melbourne University, sponsored by Moshe Sneidovich. I remember the lecture well. There were around 200 people present and quite a vigorous exchange of views on tacit and functional programming. After the lecture Iverson stayed overnight at our place in Black Rock.

As a fairly simple engineer, I felt on quite a different plane to Ken Iverson and the only specific saying of his that I remember is Engineers are distinguished, not so much by their ignorance, as by their pride in it. I asked him a question, If you compare J and APL, over a range of problems, what can you say about the number of tokens needed on average to program the solution? He said that he thought that J needed about half as many tokens as APL for the same problem.

This leads on to a humble suggestion for a practical memorial to Ken Iverson. A new APL primitive to be called Nub.

My own work is supporting APL programs written by various people, and involves a lot of “data rummaging”. After meeting Iverson, I tried to read the J dictionary and wrote a couple of small things in J, and I came across J’s primitive “Nub”.

Nub is trivially achieved in APL, being ((V{iota}V)={iota}{rho}V)/V.

But, I wrote a little APL utility called Nub, which also works with arrays, I found it so handy that I realised what Iverson meant by “Notation as a Tool of Thought”. It is really true. Being able to type Nub and not have to think about the construct means that you don’t lose the ‘flow’ of thinking about the problem at hand.

Ken Iverson wrote a couple of papers during the nineties about areas where there could be some unification in the APL area. Nub is mentioned in at least one of them, published in Quote Quad, I believe. It is respectfully suggested that in memory of the originator of APL, one of his later ideas be incorporated as a new primitive ‘Nub’… in all flavours of APL.

script began 5:48:09
caching off
debug mode off
cache time 3600 sec
indmtime not found in cache
cached index is fresh
recompiling index.xml
index compiled in 0.3036 secs
read index
read issues/index.xml
identified 26 volumes, 101 issues
array (
  'id' => '10003580',
regenerated static HTML
article source is 'HTML'
source file encoding is 'ASCII'
read as 'Windows-1252'
completed in 0.331 secs