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 Quotations and Anecdotes

compiled and edited by Roger Hui

Ken Iverson

original writing: 2005-09-30 12:00
last updated: 2005-12-06 08:15


Ken’s ancestors came from Trondheim, Norway. He observed on the serious outlook of Norwegians by retelling a story he had heard on Garrison Keillor’s radio show about Lake Woebegone.

The couple had just returned from their honeymoon.

“How was your honeymoon, Gullik?”

“Could have been worse,” replied young Gullik. On seeing the crestfallen expression of his bride, he hastened to add, “Could have been a lot worse.”

— Roger Hui and Eugene McDonnell


Ken dropped out of school after Grade 9 because it was the height of the Depression and there was work to do on the family farm, and because he thought further schooling only led to becoming a schoolteacher and he had no desire to become one.

During World War II, Ken first served in the Canadian army and then in the R.C.A.F. as a flight engineer in PBY Catalina flying patrol boats. He finally learnt about universities from his Air Force mates, many of whom planned to return to university, thanks to government support for servicemen. While in the service he completed high school courses by correspondence. After the war he graduated summa cum laude with a B.A. from Queen’s University and the M.A. and Ph.D. degrees from Harvard.

— Roger Hui


Ken didn’t get tenure at Harvard. He did his 5 years as an assistant professor and the Faculty decided not to put him up for promotion. I asked him what went wrong and he said, well, the Dean called me in and said, the trouble is, you haven’t published anything but the one little book.

The one little book later got the Turing Award.

I think that is a comment on the conventional mindset of promotion procedures rather than a comment on Ken; it’s a comment on academic procedure and on Harvard.

— Fred Brooks, A Celebration of Kenneth Iverson, 2004-11-30


Applied mathematics is largely concerned with the design and analysis of explicit procedures for calculating the exact or approximate values of various functions. Such explicit procedures are called algorithms or programs. Because an effective notation for the description of programs exhibits considerable syntactic structure, it is called a programming language.

Much of applied mathematics, particularly the more recent computer-related areas which cut across the older disciplines, suffer from the lack of an adequate programming language. It is the central thesis of this book that the descriptive and analytic power of an adequate programming language amply repays the considerable effort required for its mastery. This thesis is developed by first presenting the entire language and then applying it in later chapters to several major topics.

— overture of the Preface to A Programming Language, 1962


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

Iverson: equation

— presentation of Formalism in Programming Languages, Working Conference on Mechanical Language Structures, 1963

[Editor’s note: Ken’s one-liner is found on page 25 of A Source Book in APL. According to the notation in A Programming Language, a valid solution would be equation. (Two slashes instead of one in front of the final Mwould also work.) Dijkstra posed a simple problem, as any conversant APL or J user would attest. The printed version probably contains clerical errors.]


My first acquaintance with the notation that has since become APL (for several years it was either “Iverson Language”, “Iverson Notation”, or just plain “Iverson”) started with an IBM Research Report by Kenneth Iverson called, The Description of Finite Sequential Processes.

I don’t have the paper handy at the moment so what I’m about to tell you is all memory; it may be mistaken in details but not in essence. I seem to remember that the first page was mostly given over to heading material, possibly an abstract, so that there were only two short columns of reading matter on it. And, again memory, it took me several hours to understand what those two short columns were all about.

The author’s approach was so different from anything I’d ever encountered that I had a difficult time adjusting to his frame of reference. At the end of the first page, a fair assessment of my state of mind would be that I had glimmerings but no hope.

The second page took about as much reading time as the first but, since it had twice as much matter, I was clearly improving. The glimmerings were now fitful gleams. One thing had definitely changed, however. I had no doubts about the value of what I was reading. I was now virtually certain that the author had something to say and that I’d better find out what it was. The third page had an illustration that, in a few short lines, described George Dantzig’s simplex algorithm simply and precisely.

That was the overwhelming, crucial experience.

In the previous thirteen years, I had participated in so many murky discussions of what was here presented with crystal clarity that I knew that what I was reading was of enormous significance to the future of computing.

— Michael Montalbano, A Personal History of APL, 1982


Before APL was called APL, it was called “Iverson notation”. Ken mused that it should be called simply “the notation”. After all, we don’t say “God’s grass”, just “the grass”.

— Paul Berry


I remember quite well the day I first heard the name APL. It was the summer of 1966 and I was working in the IBM Mohansic Laboratory, a small building in Yorktown Heights, NY. The project I was working on was IBM’s first effort at developing a commercial time-sharing system, one which was called TSS. The system was showing signs of becoming incomprehensible as more and more bells and whistles were added to it. As an experiment in documentation, I had hired three summer students and given them the job of transforming “development workbook” type of documentation we had for certain parts of the system into something more formal, namely Iverson notation, which the three students had learned while taking a course given by Ken Iverson at Fox Lane High School in Mount Kisco, NY. One of the students was Eric Iverson, Ken’s son.

As I walked by the office the three students shared, I could hear sounds of an argument going on. I poked my head in the door, and Eric asked me, “Isn’t it true that everyone knows the notation we’re using is called APL?” I was sorry to have to disappoint him by confessing that I had never heard it called that. Where had he got the idea it was well known? And who had decided to call it that? In fact, why did it have to be called anything? Quite a while later I heard how it was named. When the implementation effort started in June of 1966, the documentation effort started, too. I suppose when they had to write about “it”, Falkoff and Iverson realized that they would have to give “it” a name. There were probably many suggestions made at the time, but I have heard of only two. A group in SRA in Chicago which was developing instructional materials using the notation was in favor of the name “Mathlab”. This did not catch on. Another suggestion was to call it “Iverson’s Better Math” and then let people coin the appropriate acronym. This was deemed facetious.

Then one day Adin Falkoff walked into Ken’s office and wrote “A Programming Language” on the board, and underneath it the acronym “APL”. Thus it was born. It was just a week or so after this that Eric Iverson asked me his question, at a time when the name hadn’t yet found its way the thirteen miles up the Taconic Parkway from IBM Research to IBM Mohansic.

— Eugene McDonnell, A Source Book in APL, 1981


[D]esign really should be concerned largely, not so much with collecting a lot of ideas, but with shaping them with a view of economy and balance. I think a good designer should make more use of Occam’s razor than of the dustbag of a vacuum cleaner, and I thought this was important enough that it would be worthwhile looking for some striking examples of sorts of overelaborate design. I was surprised that I didn’t find it all that easy, except perhaps for the [designs] of programming languages and American automobiles. I think that designers seem to have this feeling, a gut feeling of a need for parsimony.

— presentation of The Evolution of APL, HOPL Conference, 1978


I asked Ken, I think it may have been at the HOPL Conference, “What is the touchstone to making an elegant programming language?” He said, “The secret is, it has to do what you expect it to do.”

If you stop and think about APL and if you stop and think about J and if you think about Ken’s work generally, it is that high degree of consistency which is the product of an exceptionally clean mind, and a fierce determination not to invent any new constructs, until you have to.

— Fred Brooks, A Celebration of Kenneth Iverson, 2004-11-30


Algebra is the language of mathematics. It is therefore an essential topic for anyone who wishes to continue the study of mathematics. Moreover, enough of the language of algebra has crept into the English language to make a knowledge of some algebra useful to most non-mathematicians as well. This is particularly true for people who do advanced work in any trade or discipline, such as insurance, engineering, accounting, or electrical wiring. For example, instructions for laying out a playing field might include the sentence, “To verify that the corners are square, note that the length of the diagonal must be equal to the square root of the sum of the squares of the length and the width of the field”, or alternatively, “The length of the diagonal must be equation ”. In either case (whether expressed in algebraic symbols or in the corresponding English words), the comprehension of such a sentence depends on a knowledge of some algebra.

Because algebra is a language, it has many analogies with English. These analogies can be helpful in learning algebra, and they will be noted and explained as they occur. For instance, the integers or counting numbers (1, 2, 3, 4, 5, 6, …) in algebra correspond to the concrete nouns in English, since they are the basic things we discuss, and perform operations upon. Furthermore, functions in algebra (such as + (plus), - (subtract), and * (times)) correspond to the verbs in English, since they do something to the nouns. Thus, 2+3 means “add 2 to 3” and (2+3)*4 means “add 2 to 3 and then multiply by 4”. In fact, the word “function” (as defined, for example, in the American Heritage Dictionary), is descended from an older word meaning, “to execute”, or “to perform”.

Algebra: An Algorithmic Treatment, 1972, Chapter 1


The inclusion of too many simple exercises may bore the quick student, but their exclusion may leave unbridgeable gaps in the experience of some. The student should therefore learn to use discretion in the doing of exercises, ranging ahead and skipping detail, but being prepared to return to do earlier exercises whenever unintelligible difficulties arise in later ones. The most serious difficulty most students find with this approach is psychological; one must learn to treat exercises as a potential source of light and delight rather than as a capriciously imposed drudgery.

Elementary Analysis, 1976, Chapter 1


The importance of nomenclature, notation, and language as tools of thought has long been recognized. In chemistry and in botany, for example, the establishment of systems of nomenclature by Lavoisier and Linnaeus did much to stimulate and to channel later investigation. Concerning language, George Boole in his Laws of Thought [p.24] asserted that “That language is an instrument of human reason, and not merely a medium for the expression of thought, is a truth generally admitted.”

Mathematical notation provides perhaps the best-known and best-developed example of language used consciously as a tool of thought. Recognition of the important role of notation in mathematics is clear from the quotations from mathematicians given in Cajori’s A History of Mathematical Notations [pp. 332, 331]. They are well worth reading in full, but the following excerpts suggest the tone:

By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and in effect increases the mental power of the race.
  A.N. Whitehead

The quantity of meaning compressed into small space by algebraic signs, is another circumstance that facilitates the reasonings we are accustomed to carry on by their aid.
  Charles Babbage

— overture of Notation as a Tool of Thought, Turing Award Lecture, 1979-10-29


The practice of first developing a clear and precise definition of a process without regard to efficiency, and then using it as a guide and a test in exploring equivalent processes possessing other characteristics, such as greater efficency, is very common in mathematics. It is a very fruitful practice which should not be blighted by premature emphasis on efficiency in computer execution.

Measures of efficiency are often unrealistic because they concern counts of “substantive” functions such as multiplication and addition, and ignore the housekeeping (indexing and other selection processes) which is often greatly increased by less straightforward algorithms. Moroever, realistic measures depend strongly on the current design of computers and of language embodiments. For example, because functions on booleans (such as ∧/B and ∨/B) are found to be heavily used in APL, implementers have provided efficient execution of them. Finally, overemphasis of efficiency leads to an unfortunate circularity in design: for reasons of efficiency early programming languages reflected the characteristics of the early computers, and each generation of computers reflects the needs of the programming languages of the preceding generation.

— finale of Notation as a Tool of Thought, Turing Award Lecture, 1979-10-29


In 1973 or 1974 Ken and I gave a talk at Kodak in Rochester to a group of 40 to 50 programmers who were required to work in PL/I. In the question period a senior staff member said, “If I understand what you people are saying, you are suggesting that we should adopt a new way of thinking.”

And Ken jumped up out of his chair and said, “Yes! That’s exactly what I am saying!”

— Joey Tuttle, A Celebration of Kenneth Iverson, 2004-11-30


When I retired from paid employment, I turned my attention back to this matter and soon concluded that the essential tool required was a dialect of APL that:

  • Is available as “shareware”, and is inexpensive enough to be acquired by students as well as by schools
  • Can be printed on standard printers
  • Runs on a wide variety of computers
  • Provides the simplicity and generality of the latest thinking in APL

The result has been J, first reported in Reference 5.

Work began in the summer of 1989 when I first discussed my desires with Arthur Whitney. He proposed the use of C for implementation, and produced (on one page and in one afternoon) a working fragment that provided only one function (+), one operator (/), one-letter names, and arrays limited to ranks 0 and 1, but did provide for boxed arrays and for the use of the copula for assigning names to any entity.

I showed this fragment to others in the hope of interesting someone competent in both C and APL to take up the work, and soon recruited Roger Hui, who was attracted in part by the unusual style of C programming used by Arthur, a style that made heavy use of preprocessing facilities to permit writing further C in a distinctly APL style.

A Personal View of APL, 1991


It’s funny, but my recollection is that at the time I thought I recruited Ken. Whoever recruited whom, I won a great prize when Ken decided he and I should work together.

The final impetus that got J started was the one-page interpreter fragment that Arthur wrote, recorded in Appendix A of An Implementation of J and also reproduced in Appendix A below. My immediate reaction on seeing the page was recoil and puzzlement: it looked nothing like any C code I had ever seen. (“Is it even C?”) However, Ken counselled that I should reserve judgment. As recounted in An Implementation of J, it then happened that:

I studied this interpreter for about a week for its organization and programming style; and on Sunday, August 27, 1989, at about four o’clock in the afternoon, wrote the first line of code that became the implementation described in this document.

The name “J” was chosen a few minutes later, when it became necessary to save the interpreter source file for the first time.

— Roger Hui, Remembering Ken Iverson, Vector, 2004


When Reuters took over I.P. Sharp in 1987, Ken retired from I.P. Sharp. But did he rest? Of course not!

In 1990 I was the Chairman of the annual APL conference in Copenhagen.

Not hampered by an installed user base and desiring to get rid of the character set problem, Ken had invented J, and submitted papers with the announcement to the APL90 conference.

Well—nothing Ken ever did left people cold—but the resulting discussion in the program committee was probably the hottest I have ever experienced. Finally I had to draw a line, seeing that the rest of the programme would not come into existence if this debate was not stopped.

“We will not decline a paper from Ken Iverson, and it will go into the main conference stream.”

Not that a refusal to accept Ken’s paper at APL90 would have done anything to slow him down, of course ...

— Gitte Christensen, Ken Iverson in Denmark, Vector, 2006


My first name starts with J and my last name starts with K, followed by APL. So you know were I stand.

— Joel Kaplan


Implementers I: Usually it was Adin who pulled down on the enthusiasm a little bit. Very often it was the APL programmers, the APL implementers which at that time were me and Dick Lathwell. We had I think an unfair advantage, because if we liked an idea, it would show up in the implementation overnight; and if we didn’t like the idea, it might take a really long time to show up.

At the “March on Armonk” conference Ken said this: “I would like to address a word to the implementers: God bless them. I say God bless them with the same mixture of admiration, appreciation, and exasperation as we say to the ladies, God bless them.”

And I recall what he snarled once when I was around, “Programmers are like women: you can’t live with them, and you can’t live without them.”

If that sounds inappropriate today, all I can say is, this was a long time ago.

— Larry Breed, A Celebration of Kenneth Iverson, 2004-11-30


Implementers II: Stephen Wolfram gave a plenary presentation on Mathematica at the APL89 Conference in NYC, and sat at the same table as Ken in the banquet that evening. Ken asked Wolfram why it was that in Mathematica propositions don’t have values 0 and 1 as in APL instead of True and False. Wolfram replied that he had no objections, but the Mathematica implementers were against it.

— Roger Hui


Implementers III: The trouble with you, Ken complained to me in jest, is that you have the attitude of “just tell me where to pour the concrete”.

— Roger Hui, Remembering Ken Iverson, Vector, 2004

  Brothers Brian and Barry Silverman made a 360 hardware and host OS emulator for the PC, running the original APL\360 source code. They demonstrated their APL\360 emulator to the Toronto APLSIG on 1998-05-26.

Ken and Roger Moore (and I) were in the audience. After seeing that O backspace U backspace T worked, Roger asked to see F overstruck with L, getting an E. The Silvermans were surprised by this last result.

— Roger Hui


John Lawrence and Al Rose were returning at JFK from a trip. John was talking with the porter while waiting for Al to fetch the car. He tried explain that the two large suitcases held a 2741 computer terminal which the porter understood as a “computer”. Al arrived and the porter had some difficulty getting the 2741 suitcases into the Ford Skyliner. Al asked the porter to wait while he put the roof down. As the Skyliner relays did their magic with the roof, the porter said: “Your son, he is a genius!”

Ken often told this story which perhaps only makes sense to those who have seen a Skyliner roof operate.

— Roger Moore


I recall another story about Ken, witnessed firsthand, when he came to the National Security Agency, around 1970, to give a lecture on APL to an audience of several hundred people.

He was introduced by someone who gave quite a complete description of Ken’s work and personal history. Then Ken got up to speak. He started by saying that normally when he gives a lecture the host approaches him a few minutes before the start of the lecture and furtively scribbles a few notes about where he went to school, etc. Ken said he was quite surprised that no such discussion occurred this time, until he realized where he was! The audience had a great laugh.

— Bob Smith


At the AMS meetings in Washington DC in the late 1990’s, Ken wandered over to the NSA booth.

Ken: I don’t suppose there’s any point in asking you any questions, since you can’t answer anyway.

NSA guy: Sure I can. But then I’ll have to kill you.

— Roger Hui


Later, Ken visited the Maple booth. He asked the young people staffing the booth, “How do you find the number of elements of a vector that are greater than a hundred?” (That is, +/x>100 in J or APL.) He left them a few minutes later, still scratching their heads.

— Roger Hui


Ken interviewed a job applicant once and reported back, “I don’t think we want him. I told him what we were doing and he didn’t argue. He just listened.”

— Larry Breed, A Celebration of Kenneth Iverson, 2004-11-30


One time I was complaining about an impertinent customer who was making suggestions, and Ken said, “You know, Arthur, when I was working at IBM, I learnt that it’s very important, very important to listen to your customers. It’s even more important to disregard what they say and do the right thing.”

— Arthur Whitney, A Celebration of Kenneth Iverson, 2004-11-30


In a social conversation with Ken, I said, “You know, Ken, you are my favorite language designer and Don Knuth is my favorite programmer.” And Ken said immediately, “What’s wrong with my programming?”

— Joey Tuttle, A Celebration of Kenneth Iverson, 2004-11-30


The Judge’s Prize was awarded to the isi entry, submitted by a team of five from Iverson Software:
    Chris Burke
    Roger Hui
    Eric Iverson
    Ken Iverson
    Kirk Iverson
The isi entry was written in a language called J, Ken Iverson’s successor to APL. ...

Congratulations to the isi team! Without a doubt, “a bunch of extremely cool hackers” – and an extremely cool programming language.

— The Judges, ICFP Functional Programming Contest, 1998


In developing J, Ken accepted that APL had shortcomings and it was time to move on. New features in J had to be supported on their own merits. “Because it is in APL” was not a good argument. This led to a rift between the J group and the traditional APL community, that Ken simply ignored.

His careful writing meant that, in turn, he was a good editor. Papers or labs submitted to Ken for review provoked immediate, thorough, and careful responses.

He was willing to discuss APL and J with anyone, treating them as an equal – and often mistakenly assuming that the person he was speaking to had thought about the matter as much as himself.

He could talk on almost any topic under the sun.

— Chris Burke


Ken believed passionately that brevity is essential to clarity. “Be concise,” he’d say. For me, this made for endless tension in my role as popularizer or explainer. I never got over my belief that in English, readability is mostly redundancy. Ken would look at what I have drafted and say, “Long-winded. You can cut out two-thirds.”

— Paul Berry, A Celebration of Kenneth Iverson, 2004-11-30


For me personally, the biggest contribution in my life was that Ken taught me to write. Ken wanted things very concise. When in doubt, leave it out. Do not put runways for your prose to take off or to land at the end of a chapter; when you’re finished, quit.

As a matter of fact, the first chapter of Automatic Data Processing was far and away the very densest, because we edited it and we edited it and we edited it.

Ken taught me some useful productions: If it’s a clause, turn it into a phrase. If it’s a phrase, turn it into an adjective or an adverb. If it’s an adjective or an adverb, omit it. And you apply these recursively.

— Fred Brooks, A Celebration of Kenneth Iverson, 2004-11-30


The secret to writing well? “First, write 500 papers.”

— Roger Hui, Remembering Ken Iverson, Vector, 2004


On the first night of the course that Ken Iverson was giving in his notation at the IBM Watson Research Center, in 1962, I saw him writing on the chalkboard, first with one hand, later with the other, and thus back and forth throughout the evening.

Many years later Ken told me the tale of his ambidexterity. He was naturally left-handed, but when he went to the grade school in the small town of Camrose, in Alberta, his teacher made him learn to write right-handed, and, if I remember correctly, by tying his left arm behind him. He did this, and for many years wrote with nothing but his right hand.

While on the Harvard faculty, he saw that when a fellow teacher injured his writing arm, he was unable to teach until it healed. Ken thought about this, and, for insurance, recalling his natural left-handedness, set about developing writing skills with the left hand. Thereafter, he wrote with either hand, as he felt inclined, one way or the other. I don’t recall which hand he favored, but it was probably his right.

— Eugene McDonnell


I remember being surprised at finding the line “I sing of Olaf glad and big” in some examples that Ken wrote in Phrases1.A (1996-8) (and J Version 7 Introduction & Dictionary, (1993), p. 32). I knew his source, since I was interested in its poet — e.e. cummings — and my surprise was how Ken had ever run across it. The poem tells of Olaf, a conscientious objector — presumably in WWI — and the foul way he is tortured by the military.

In Programming in J (1991) page 33 is: “Do you love me/ or do you not/ you told me once/ but I forgot” is anonymous — maybe by a greeting card poet. Also on page 40 is “With blackest moss”, “Mariana”, Tennyson.

In An Introduction to J (1992), 17, “Nobly, nobly, Cape St. Vincent” is from Robert Browning’s “Home Thoughts from the Sea”. This is also on p. 17 of J Introduction & Dictionary (1993)

Another poem Ken liked was Clarence Day’s: ”When eras die, their legacies / Are left to strange police. / Professors in New England guard / The glory that was Greece.” This is on the ;: page of the J dictionary.

He greatly admired Robert W. Service, the Canadian poet, who wrote “A bunch of the boys were whooping it up in the Malemute saloon” and many other Yukon poems.

— Eugene McDonnell


Ken loved poetry and had a really good memory for it. A poem that he recited from time to time, with laughter in his voice, was When Adam Day by Day by A.E. Housman.

When Adam day by day
Woke up in paradise,
He always used to say
“Oh, this is very nice.”

But Eve from scenes of bliss
Transported him for life.
The more I think of this
The more I beat my wife.

— Roger Hui


I don’t think of Ken as a person who told a lot of jokes but when he did, there was usually something more than just a funny story – there was something to learn or something to make you think. One story he told stands out in my memory and I’ve repeated it many times because in addition to being a good story, it also describes the central fallacy of communism. What’s wrong with “From everyone according to their ability and to everyone according to their need”? And the answer is that you’re dealing with people! Here’s the story, a conversation between an interviewer and a farmer:

I: If you had two acres of land and a friend had none, would you give him an acre of land?
F: If I had two acres of land and a friend had none, then for the greater good of the state, I would give him an acre.
I:  If you had two horses and your friend had none, would you give him one of your horses?
F: If I had two horses and a friend had none, then for the greater good of the state, I would give him a horse.

I: If you had two cows and your friend had none, would you give him one of your cows?
F: No!
I: I don’t understand, you would give him an acre and a horse, why not a cow?
F: Well, I have two cows.

— Jim Brown, Remembering Ken Iverson, Vector, 2004


There is an 8-word Chinese phrase describing a well-ordered society, where the citizens are so good that they don’t pick up items on roads that were dropped by accident, or need to lock their doors at night.

I once described this phrase to Ken. He immediately responded that he probably wouldn’t like the degree of control and coercion necessary for that kind of result. Human nature being what it is, I think Ken was right.

夜 路
不 不
閉 拾
户 遺

— Roger Hui


Ken illustrated the importance of treating people with respect by telling the following story: At an airport counter an irate traveller was berating the service agent over something or other, which the agent took with stoic forbearance. After the traveller went on his way, the next person in line told the agent, “I am amazed at how well you took that abuse.” The agent smiled thinly and replied, “Oh, the gentleman is flying to Chicago, but his luggage is going to Moscow.”

— Roger Hui, Remembering Ken Iverson, Vector, 2004


Pascal’s Wager is an argument that one should believe in God: If there is a God, then you better believe in Him in order to go to heaven; if there is no God, then believing in Him does no harm.

Ken argued that there should be a special place in Hell for people who believe for this reason.

— Roger Hui

  Ken aphorisms:
  • [Beware of anyone who says,] let’s you and him fight.
  • Good fences make good neighbors.
  • Who gets upset depends on whose ox is being gored.
  • Ask the question: Who benefits?
  • Trying to ease the pain by carrying out an unpleasant procedure a bit at a time, is like cutting off a dog’s tail an inch at a time.
  • Never give more than one reason for anything – the last one is always the real one. (recalled by Roland Pesch)

— Roger Hui


Ken’s Erdös number is at most 3, achieved in at least two different ways:

  • Paul Erdös and Jeffrey Shallit, New bounds on the length of finite Pierce and Engel series, Séminaire de Théorie des Nombres de Bordeaux 3, 1991, pp. 43-53.
  • Eugene McDonnell and Jeffrey Shallit, Extending APL to Infinity, Proc. APL 80 International Conf., North-Holland, 1980, pp. 123-132.
  • Roger Hui, Kenneth E. Iverson, Eugene McDonnell, and Arthur Whitney, APL\?, APL90, 1990, pp. 192-200.
  • Paul Erdös, Nathan Linial, and Shlomo Moran, Extremal Problems on Permutations under Cyclic Equivalence, Discrete Mathematics 64, 1987, pp. 1-11.
  • Oscar Ibarra, Shlomo Moran, and Roger Hui, A Generalization of the Fast LUP Matrix Decomposition Algorithm and Applications, Journal of Algorithms 3, 1982, pp. 45-56.
  • Roger Hui, Kenneth E. Iverson, Eugene McDonnell, and Arthur Whitney, APL\?, APL90, 1990, pp. 192-200.

— Roger Hui


The founder, Ken Iverson, inspired great loyalty the old-fashioned way: he earned it.

— Bill Clinton, My Life, 2004, p. 321


I was having dinner with Ken and Jean at their house, and the story of grains of rice on a chessboard came up in the conversation. As a reward for some outstanding service to the Emperor, a magician was granted any wish. He asked the Emperor for one grain of rice on the first square of an 8 by 8 chessboard, two grains on the next square, four grains on the next, and so on, doubling on each square. The Emperor, once he realized how much rice was involved, got so upset that he chopped off the magician’s head.

The total was of course (2^64)-1 grains of rice. So how much rice was that? I guess Ken didn’t want to think about it during dinner, because he quickly said that it would cover the earth to a significant distance to the sun.

I estimated that a grain of rice was roughly one-eighth of an inch on each side, remembered from grade school that the radius of the earth was about 4000 miles, and so on, and while continuing to eat dinner, did some mental calculations. After a while I was able to tell Ken and Jean, “There are a lot of cubic inches in a cubic mile; that amount of rice wouldn’t even cover the earth.”

— Roger Hui


A “Kenecdote” is an item in this collection.

— Eugene McDonnell


In an early talk Ken was explaining the advantages of tolerant comparison. A member of the audience asked incredulously, “Surely you don’t mean that when A=B and B=C, A may not equal C?” Without skipping a beat, Ken replied, “Any carpenter knows that!” and went on to the next question.

— Paul Berry


The conjunction under f&.g in J (f¨g in SHARP APL) is defined as

   f&.g y   gi f g y
 x f&.g y   gi (g x) f (g y)

where gi is the inverse of g . “Under” elucidates the important but often mysterious concept of duality in mathematics.

Ken liked to use the “under anasthetics” example to introduce the idea. Several steps were composed:
    apply anasthetics
        cut open
            do procedure
        sew up
    wake up from anasthetics
The audience never failed to see that the inverse steps were pretty important! Ken also used the “pipe laying” example: dig a trench, lay the pipe, cover the trench.

— Roger Hui


I recall in the late 1980’s a discussion with Ken, Arthur, and me around Ken’s kitchen table, querying new aspects of the composition operator in Sharp APL and new variations we were contemplating in Sharp APL/HP (the composition operator is analogous to &. in J).

Ken resisted agreeing to new variations of composition, wanting to “keep it simple”. As part of his explanation he asked me where I have used a function and its inverse in real life ... I hesitated, pausing ...

He enlightened me:

  • Washing the dishes: Fill the sink / wash the dishes / empty the sink
  • Food from the fridge: Open the door / get the food / close the door
  • Have dinner: Set the table / eat dinner / clean up the table
  • Go to work: Drive to work / work in the office / drive home
  • Rubbish bins: Put out bins / council collects rubbish / bring in bins
  • Filing: Find appropriate file / update contents / restore file in order

The aspects were endless, but underlined Ken’s desire to keep the mathematical implementations as simple as possible, pointing out that we need to picture these in terms of our own real life experiences to better understand them.

It was an interesting discussion and gave me some guidelines of where Ken was coming from in so much of his language design.

— Rob Hodgkinson

  In J, an isolated sequence of verbs f g h derives a fork, defined as follows:
   (f g h) y   (f y) g (h y)
 x (f g h) y  (x f y) g (x h y)

In March 2005, I thought of an extension where the isolated sequence m g h with m being a noun, previously an error, is defined to mean m"_ g h . (m"_ is a constant verb producing m as its result.) Many verbs in J (and APL) were designed so that fixing the left argument of the dyad made a sensible monad, and there is a commute adverb ~ where x f~ y y f x . Therefore, the new fork is very useful. Two examples:

0. Lower case from upper case.

   U  =: a. {~ (i.26)+a.i.'A'
   L  =: a. {~ (i.26)+a.i.'a'
   lfu=: (L,a.) {~ (U,a.) i. ]

   lfu 'PROTASIS apodosis'
protasis apodosis

1. An identity from mathematics.

   sin=: 1 o. ]
   cos=: 2 o. ]

   (^@j. = cos + 0j1 * sin) 1 2 3 0.1j_0.2
1 1 1 1

The extension is “obvious”. Ken or I (or anyone else) could have thought of it any time between 1989 and 2004, but we didn’t. Of all the new work in J since his passing, I wish I could tell Ken about this one. I think it would have made his day.

— Roger Hui


... one of [Howard Aiken’s] graduate students was becoming a little paranoid that somebody might steal one of the fantastic ideas from his thesis, and so he was stamping every copy “Confidential”. Aiken just shook his head and said, “Don’t worry about people stealing your ideas. If they’re any good, you’ll have to ram them down their throats!”

— presentation of The Evolution of APL, HOPL Conference, 1978


Once launched on a topic it’s very easy to forget to mention the contributions of others, and although I have a very good memory, it is, in the words of one of my colleagues, very short, so I feel I must begin with acknowledgments, …

— presentation of The Evolution of APL, HOPL Conference, 1978

script began 11:36:08
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.3045 secs
read index
read issues/index.xml
identified 26 volumes, 101 issues
array (
  'id' => '10003930',
regenerated static HTML
article source is 'HTML'
source file encoding is 'ASCII'
read as 'Windows-1252'
URL: keilaugh.jpg => trad/v223/keilaugh.jpg
URL: matrixm.png => trad/v223/matrixm.png
URL: sum0.png => trad/v223/sum0.png
URL: sum1.png => trad/v223/sum1.png
URL: matrixm.png => trad/v223/matrixm.png
URL: =>
URL: =>
URL: =>
URL: sqrt.png => trad/v223/sqrt.png
URL: =>
URL: =>
URL: =>
URL: =>
URL: =>
URL: gitte222.htm => trad/v223/gitte222.htm
URL: =>
URL:\360+emulator+history&rnum=2&hl=en#203aee0b880c4825 =>\360+emulator+history&rnum=2&hl=en#203aee0b880c4825
URL: =>
URL: =>
URL: =>
URL: =>
URL: =>
URL: =>
URL: =>
completed in 0.3332 secs