Ken Iverson
Quotations and Anecdotes
compiled and edited by Roger Hui 
created:2005-09-30 12:00
updated:2017-12-09 22:00
 


 

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.”

Postscript. I (Roger Hui) recently received indication of the validity of Ken’s observation. I was in a car with Norwegian-born Morten Kromberg when he, commenting on the general state of affairs, said, “Could be 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. His doctoral dissertation, “Machine Solutions of Linear Differential Equations: Applications to a Dynamic Economic Model”, was jointly supervised by Professors Howard Aiken and Wassily Leontief.

— Roger Hui
 

 

Kenneth Iverson has recalled graduate study under Aiken as “like an apprenticeship” in which the student “learned the tools of the scholarship trade”. Every topic was “used more as a focus for the development of skills such as clarity of thought and expression than as an end in itself”. Once admitted to the program, a graduate student underwent a rite of “adoption into the fold”. He was given a desk (or a share of a desk) among a group of other graduate students, the permanent staff, or visiting scholars, “most of whom were engaged in some aspect of the design and building of computers”. A student was thus “made to feel part of a scholarly enterprise” and was provided, “often for the first time, with easy and intimate access to others more experienced in his chosen field”.

— I. Bernard Cohen, Howard Aiken: Portrait of a Computer Pioneer,
MIT Press, 1999, page 215.
 

 

Ken met my father as a fellow graduate student at Harvard. A professor introduced them saying, “There is another student here from Saskatchewan.”

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

 

But I also found myself welcome at the famous coffee hours and talking to graduate students, other members of the staff of the Comp Lab, people from everywhere at Harvard, and people apparently from nowhere. … And I met Professor Wassily Leontief, who was mulling over using Mark I to do, with Ken Iverson’s assistance, the input-output calculations that helped toward his eventual Nobel Prize in economics.

— Anthony Oettinger, Reminiscences of the Boss, in
I. Bernard Cohen and Gregory W. Welch, editors, Makin’ Numbers,
MIT Press, 1999, page 206.
 

 

When interviewing Aiken, I had asked him whether Tropp and I might see his lecture notes; Aiken replied that he had always destroyed his lecture notes at the end of each year, so that he would not be tempted to repeat his lectures.

— I. Bernard Cohen and Gregory W. Welch, editors, Makin’ Numbers,
MIT Press, 1999, page xvi.
 

 

The speed of modern computers has reached a point where, for many applications, the time required to program a problem may be a more important factor than the actual computing time. Attempts are made, therefore, to simplify the work of programming in various ways.

Machine Solutions of Linear Differential Equations,
Section 2A4, Simplification of Programming, 1954
 

 

Aiken’s Doctoral Students and Their Dissertations

1948
Herbert Francis Mitchell Jr., “The Application of Large-Scale Digital Calculators to the Solution of Simultaneous Linear Systems”

1950
Miles Van Valzah Hayes, “Numerical Solutions to Differential Equations, Using Automatic Computers”

1952
Gerrit Anne Blaauw, “The Application of Selenium Rectifiers as Switching Devices in the Mark IV Calculator”

1953
Charles Allerton Coolidge Jr., “Design of an Automatic Digital Calculator”

Robert Charles Minnick, “The Use of Magnetic Cores as Switching Devices”

1954
Kenneth Eugene Iverson, “Machine Solutions of Linear Differential Equations: Applications to a Dynamic Economic Model”

Anthony Gervin Oettinger, “A Study for the Design of an Automatic Dictionary”

Warren Lloyd Semon, “The Application of Matrix Methods in the Theory of Switching”

Theodore Singer, “A Class of Time-Sequential Circuits”

1955
Peter Calingaert, “Multiple-Output Relay Switching Circuits”

1956
Robert Lovett Ashenhurst, “The Structure of Multiple-Coincidence Selection Systems”

Frederick Phillips Brooks Jr., “The Analytic Design of Automatic Data Processing Systems”

LeRoy Brown Martin Jr., “Approximation by Ratios of Integers Chosen from a Limited Range — Applications to the Gear Train Problem”

1957
Roderick Gould, “The Application of Graph Theory to the Synthesis of Contact Networks”

Albert Lafayette Hopkins Jr., “An Investigation of Non-Ohmic Resistive Switching Networks”

1958
Gerard A. Salton, “An Automatic Data Processing System for Public Utility Revenue Accounting”

— I. Bernard Cohen and Gregory W. Welch, editors, Makin’ Numbers,
MIT Press, 1999, Appendix B.
 

 

In assessing Aiken’s legacy, one must, of course, examine the influence of his students. The careers of his Ph.D. students illustrate the rippling waves of Aiken’s influence. Herb Mitchell went to work for Univac in software. Gerrit Blaauw, after serving as one of the architects of the IBM System/360 family, became professor of digital technique at the Technical University of Twente, in the Netherlands. Charles Coolidge established his own computer company. Bob Minnick became a professor at Rice and later president of his own firm. Ken Iverson, who received the Turing Award for his development of APL, went on to IBM. Warren Semon became dean of the School of Computer and Information Science at Syracuse, having been head of applied mathematics at Sperry and then at the Burroughs Research Center. Tony Oettinger became Aiken’s heir at Harvard. Peter Calingaert had a fruitful career at the University of North Carolina. Leroy Martin became Assistant Provost for Computing and a professor of computer science at North Carolina State. Bob Ashenhurst had a productive career at the University of Chicago. Albert Hopkins went to the MIT Instrumentation Lab, which became the Charles Stark Draper Lab, where he eventually became assistant director and established a reputation for fault-tolerant computing, and later moved on to ITP Computing. Gerry Salton became a professor of computer science at Cornell and a preeminent figure in the field of document and information retrieval.

[Fred Brooks, after years at IBM, where he headed the development of the operating system for System/360, went on to found and head the Department of Computer Science at the University of North Carolina at Chapel Hill. — I.B.C.]

[Editor note: Brooks received the Turing Award in 1999 “for landmark contributions to computer architecture, operating systems, and software engineering”.]

— Frederick Brooks Jr., Aiken and the Harvard “Comp Lab”, in
I. Bernard Cohen and Gregory W. Welch, editors, Makin’ Numbers,
MIT Press, 1999, page 141-142.
 

 

Many people think that Aiken was interested only in scientific computers. This was simply not so. During one coffee hour, Aiken turned to Ken Iverson, who had just finished his Ph.D., and said: “These machines are going to be immensely important for business, and I want you prepare and teach a course in business data processing next fall.” There had never been such a course anywhere in the world. Ken was qualified only because he was a mathematician. I was so excited by the prospect that I immediately volunteered to be Ken’s graduate teaching assistant.

— Frederick Brooks Jr., Aiken and the Harvard “Comp Lab”, in
I. Bernard Cohen and Gregory W. Welch, editors, Makin’ Numbers,
MIT Press, 1999, page 141.
 

 

The first real encouragement of my work in notation came when I took a six-month mini-sabbatical after two years of teaching in Aiken’s program, to work for the still-thriving consulting firm McKinsey & Co. This was in the fall of my third year on the faculty.

This occurred because M&C had undertaken work that required the use of a computer. Having no computer knowledge themselves, M&C turned to the source of all knowledge (Harvard, and eventually Aiken), and Aiken recommended me.

When I arrived in San Francisco, Ted Strong (of M&C) explained that his client, Hawaiian Sugar (in a dispute over shipping rates with Matson Lines), had embarked on a thorough analysis of their options — including, for example, the choice of locating refineries in Hawaii or in the US. This required a computer, and Ted had secured the services of Bob Oakford and Dan Fisher of Stanford University, to program the (then rather new) IBM 650.

Ted held weekly meetings with Oakford to communicate his remarkably-detailed knowledge of sugar and shipping. These meetings seemed to go well, but he was unable to get anything understandable about the progress of the programming. I asked Ted to do the same for me, but recorded the steps and decisions in the notation I had been developing for teaching, notation that was eventually implemented as APL.

The encouraging thing was that we were able to converse in accurate detail, Ted knowing nothing of computers, and I knowing nothing of sugar and shipping. Moreover, Oakford and Fisher were able to understand these same programs, just as I was able to understand their 650 programs. In a few months the 650 programs were nearly complete, and we four eagerly anticipated their use — whereupon the project was abruptly terminated.

This was a great disappointment, even though the reason was victory — all this computer stuff had intimidated Matson to agree to a re-negotiation of rates.

Kenneth E. Iverson, 2008
 

 

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.

A Programming Language, 1962
 

 

“I am indebted to my wife for assistance in preparing the final draft”, so says the last sentence of the Preface to A Programming Language. The acknowledgment only hints at the heroic effort involved: Jean typed the text and hand-drew the special characters and symbols using a Keuffel&Esser Leroy Lettering Set. As well, she participated in the proofreading of several “final” drafts, reading out every comma, period, slash, dash, etc. while Ken followed in the galley copy.

Jean also compiled the index of the book with the aid of punched cards.

— Roger Hui
 

 

In 1962 I was in Ken’s class on his notation at IBM Research in Yorktown Heights, NY. At our second or third meeting Ken came in with a carton, which he opened, and handed one of the first copies of A Programming Language to each student. ... They had been printed in Ireland, and Wiley had had to pay penalty premiums because of all the special characters needed.

I became publisher of APL Press in 1980 when Ken and Jean moved back to Canada, and I promised Ian Sharp that I would lose at least as much money as the Iversons had. When I became aware that the book was no longer in print, I asked Wiley if they would allow APL Press to reprint it. Their answer was a dignified “No”, and their reason? “Because it’s a classic.”

— Eugene McDonnell
 

 

Dijkstra: 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?

Iverson:

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

[Editor note: According to the notation in A Programming Language, a valid solution would be . (Two slashes instead of one in front of the final would also work.) Dijkstra posed a simple problem, as any conversant APL or J user would attest. The printed version probably contains clerical errors.]
 

 

Selection of the system language was a central decision. Major advances in programming language are desirable to best provide a personalized service for creative man-machine interaction. A most promising direction for improvement is to better respond to the fact that most problems presented for computer solution deal with arrays of operands rather than isolated operands. Although modern languages include the ability to access array elements by indexing, the Iverson language recognizes, in its basic structure, the ability to specify entire arrays as operands. This not only reduces the number of program characters which must be specified to perform most program functions, it also reduces the amount of loop control and other explicit program logic required of the user. The language includes selection operations, generation of test and argument arrays, and other macro-operations in a simple consistent manner.

The choice of an array-oriented language reduces the relative penalty of the interpretive method of translation, since each translated statement results in extensive execution on many elements. In the longer term, an array-oriented language holds great promise as a natural way of specifying implicit parallel operations to a system with multiple processing units.

— Herb Hellerman, Experimental Personalized Array Translator System,
1964-07
 

 

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
 

 

Q: I have read some other discussions where you and other people suggested that one of the interesting applications was using APL to teach programming and mathematics at the elementary and high school levels.

Adin: We did some of that, particularly at the beginning, and we had a little fun with it.

At that time we only had typewriter terminals and we made some available to some local private schools. There was one in particular where problem students were supposed to be taught, and we gave them exercises to do on the typewriter and turned them loose.

The fun part was that we found that some of these students who were supposed to be resistant to learning broke into the school after hours so they could do more work on it. They were using typewriter terminals hooked to our time-sharing system.

— Adin Falkoff, Masterminds of Programming, 2009
 

 

My first exposure to Iverson Notation was a lecture by KEI at Stanford Research Institute in 1961 or 62. Several of us from the Stanford Comp Center attended. I did purchase a copy of the book shortly after it was published. Those arrows down the side for branching seemed a barrier to implementation.

Some features such as +/X seemed to present an opportunity for compiler code generation. An efficient looping form could be used which is not always the case with a for statement.

— Roger Moore, It’s APL’s Birthday! Or is it?, 2011-11-27
 

 

Some of my children and nephews started APL on a 5100. Some started on the two-huge-suitcases version of “portable” APL. Some started on the 2741 time-sharing terminal. Luckily, none of them had to start on a 1050.

I started on the blackboard version.

— Eugene McDonnell
 

 

I started in 1966 on an APL machine that weighed 15,000 tons, when I travelled from Hong Kong to San Francisco on the S.S. President Wilson of the American President Lines.

— Roger Hui
 

 

The APL language was first defined by K.E. Iverson in A Programming Language (Wiley, 1962) and has since been developed in collaboration with A.D. Falkoff. The APL\360 Terminal System was designed with the additional collaboration of L.M. Breed, who with R.D. Moore*, also designed the S/360 implementation. The system was programmed for S/360 by Breed, Moore, and R.H. Lathwell, with continuing assistance from L.J. Woodrum, and contributions by C.H. Brenner, H.A. Driscoll ±, and S.E. Krueger ±. The present implementation also benefitted from experience with an earlier version, designed and programmed for the IBM 7090 by Breed and P.S. Abrams**.

The development of the system also profited from ideas contributed by many users and colleagues, notably E.E. McDonnell, who suggested the notation for the signum and the circular functions.

In the preparation of the present manual, the authors are indebted to L.M. Breed for many discussions and suggestions; to R.H. Lathwell, E.E. McDonnell, and J.G. Arnold †† for critical reading of successive drafts; and to Mrs. G.K. Sedlmayer and Miss Valerie Gilbert for superior clerical assistance.

A special acknowledgement is due to John L. Lawrence, who provided important support and encouragement during the early development of APL implementation, and who pioneered the application of APL in computer-related instruction.

* I.P. Sharp Associates, Toronto, Canada.
General Systems Architecture, IBM Corporation, Poughkeepsie, N.Y.
± Science Research Associates, Chicago, Illinois.
** Computer Science Department, Stanford University, Stanford, California.
††  Industry Development, IBM Corporation, White Plains, NY.

— Falkoff and Iverson, Acknowledgements in APL\360 User’s Manual, 1968-08
 

 

Different people claiming to follow the same broad principles may well arrive at radically different designs; an appreciation of the actual role of the principles in design can therefore be communicated only by illustrating their application in a variety of specific instances. It must be remembered, of course, that in the heat of battle principles are not applied as consciously or systematically as may appear in the telling.

The Design of APL, 1973
 

 

[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
 

 

I was at a meeting in Newcastle, England, where I’d been invited to give a talk, as had Don Knuth of Stanford, Ken Iverson from IBM, and a few others as well. I was sitting in the audience sandwiched between two very esteemed people in computer science and computing — Fritz Bauer, who runs computing in Bavaria from his headquarters in Munich, and Edsger Dijkstra, who runs computing all over the world from his headquarters in Holland.

Ken was showing some slides — and one of his slides had something on it that I was later to learn was an APL one-liner. And he tossed this off as an example of the expressiveness of the APL notation. I believe the one-liner was one of the standard ones for indicating the nesting level of the parentheses in an algebraic expression. But the one-liner was very short — ten characters, something like that — and having been involved with programming things like that for a long time and realizing that it took a reasonable amount of code to do, I looked at and said, “My God, there must be something in this language.” Bauer, on my left, didn’t see that. What he saw or heard was Ken’s remark that APL is an extremely appropriate language for teaching algebra, and he muttered under his breath to me, in words I will never forget, “As long as I am alive, APL will never be used in Munich.” And Dijkstra, who was sitting on my other side, leaned toward Bauer and said, “Nor in Holland.” The three of us were listening to the same lecture, but we obviously heard different things.

— Alan Perlis, Almost Perfect Artifacts Improve only in Small Ways:
APL is more French than English
, 1978-03-29
 

 

Such were the vagaries of what may have been the most powerful computer language ever hatched by a Canadian. Yes, I know that James Gosling, an alumnus of the University of Calgary, was the “father of Java.” He and I have talked about it. And yes, there is a now a game called “Perl Golf” in which you try to do the most work in that scripting language with the fewest number of (key-) strokes. Java and Perl are good and useful and popular, but APL was … beautiful.

— Tom Keenan, Business Edge, 2004
 

 

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 ”. 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
 

 

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
 

 

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
 

 

Name 3 Turing Award winners who were denied tenure at their universities.

Ken Iverson was denied tenure at Harvard in 1959, went to IBM Research, and won the Turing award in 1979.
http://keiapl.org/anec/#one_little_book

Edsger Dijkstra was denied tenure at Amsterdam in 1970, went to UT Austin, and won the Turing award in 1972.
http://www.cbi.umn.edu/oh/pdf.phtml?id=317, page 12

Stephen Cook was denied tenure at UC Berkeley in 1970, went to the University of Toronto, and won the Turing award in 1983.
http://www.cbi.umn.edu/oh/pdf.phtml?id=317, page 12

— Roger Hui, J Forum messages, 2008-07-12
 

 

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
 

 

There is a story that Ken Iverson, the inventor of APL, was passing a terminal at which a Fortran programmer had just typed:

      I = I+1

Ken paused for a moment, muttered “no it doesn’t”, and passed on.

A similar yarn relates to a computer scientist who, many years ago, before the concept of declarative programming was generally understood, was teaching programming to a group of geography students. The students were having a hard time understanding what I=I+1 means. To his immense credit, on reflection, the teacher realised that he didn’t understand either. Thus came a significant advance in computer science.

— John Scholes, Declarative Programming
 

 

During the APL75 conference in Pisa Ken visited the Leaning Tower. He pronounced it the first software project — late and overbudget, and from early on everyone could see that it was going to be a disaster, but by then the project was too far along and there was nothing to do but plow ahead.

— Lib Gibson
 

 

At a conference I have forgotten, Ken and I had attended the same talk. The speaker had been absolutely enthusiastic about a doubtful idea. Ken asked me what I thought about the talk. I struggled to find polite words. Ken cut me off and offered a story about a classic expert on warfare who classified adversaries in war by two qualities: whether they were smart and whether they were energetic. If you were fighting a smart-energetic adversary, you had to be more so, smart-lazy and stupid-lazy were likewise appropriately handled. However, God help you if you faced an adversary who was stupid but energetic. I am sure Ken’s version was far more detailed, but when he was done, his point was perfectly clear and it had been made in a most memorable fashion.

— Cliff Reiter, Memories of the Mysterious Ken, 2007-09
 

 

Some e-mails from April 2016, when I was gathering information for revamping Ken’s Wikipedia page.

From: Roger Hui           To: Eric Iverson
I remembered that Ken and Arthur worked together on a database at IPSA. Was it the OAG database?
 
From: Eric Iverson        To: Roger Hui

Arthur did significant work on OAG (Official Airline Guide) database. He took over what was essentially a failed project for a critical customer, rewrote it from scratch, and turned it into a resounding success.

I am quite sure that Ken had no involvement at all. And moreover that Ken never worked on any db application with or without Arthur.

 
From: Roger Hui           To: Eric Iverson
My memory is quite clear that Ken had a role in it. I remember being astounded when Arthur told me, and one of us said Ken working on a database is like God had came down and pair-programmed with you. I’ll e-mail Arthur.

Ken working with Arthur on OAG would fit the narrative I am constructing. There they were, “officially” working on the OAG, and at the same time Arthur went and wrote the model of APL in APL that gave a great big push to Rationalized / Dictionary APL.

 
From: Arthur Whitney   To: Roger Hui
yes ken and i worked on oag and aplmodel at the same time. much more time on the aplmodel.
 
From: Roger Hui           To: Eric Iverson
The appended is what Arthur said a few minutes ago. I am amused that the manager of the both of them (you) did not know that they were doing this.

— Roger Hui
 

 

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, 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
 

 

In late 1965 or 1966, Larry Breed and I were working on the first Iverson Notation interpreter which ran on the IBM 7090 in batch mode (all there was in those days!). This code was then ported to the internal time-sharing system at IBM to become “IVSYS”.

We had to build a parser for the language, which was never well-defined syntactically in A Programming Language. We decided to use a precedence grammar, as the parser would be simpler than something more general. We had difficulty getting Ken to appreciate the need for formality and precision in defining the grammar since that was not the way it was done in mathematics. So whenever we would ask him (or Adin Falkoff) how a particular syntactic construct was intended to work, he would say that “the syntax must be satisfied”. That got to be a running joke with Larry and me, and later with Roger and others. I drew a cartoon of “Satisfied Syntax”, smiling and looking quite happy.

— Phil Abrams
 

 

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 implementers: God bless them. I say God bless them with the same sort of mixture of admiration, appreciation, and exasperation as we say to the ladies, God bless them.”

As 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, 2004
 

 

In the 1990’s, Ken saw Professor Lee Dickey regularly in the Toronto APLSIG monthly meetings. Lee was a faculty member in the Department of Pure Mathematics of the Faculty of Mathematics at the University of Waterloo. Ken liked to say in Lee’s presence, “Don’t call me a mathematician because it would offend a real mathematician.” (Lee’s response to that was a smile.) And I, in Lee’s presence, like to recount the following story: I once took a course entitled “Applied Discrete Mathematics”. In the introductory lecture, the professor explained that it’s called applied discrete mathematics because, if you can not be pure, at least be “discrete”.

— Roger Hui
 

 

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 was sitting next to Ken in the IBM Research Center auditorium, circa 1968, to listen to a talk given by Paul Roth. Before it started, Ken turned to me and asked, “What hath Roth got?”

He was, of course, using the text of the first telegraphic message, sent on May 24, 1844, by Samuel F.B. Morse, the inventor of the American telegraph: “What hath God wrought?” (KJV, Numbers 23:23)

— Eugene McDonnell
 

 

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 January, 2000, 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
 

 

When all the techniques of program management and programming practice have been applied, there remain vast differences in quality of code produced by different programmers. These differences turn not so much upon the use of specific tricks or techniques as upon a general manner of expression, which, by analogy with natural language, we will refer to as style. This paper addresses the question of developing good programming style in APL.

Because it does not rest upon specific techniques, good style cannot be taught in a direct manner, but it can be fostered by the acquisition of certain habits of thought. The following sections should therefore be read more as examples of general habits to be identified and fostered, than as specific prescriptions of good technique.

Programming Style in APL, 1978
 

 

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, 2004
 

 

I learned about Ken Iverson’s penchant for looking for spelling errors when he travelled to Boston to make a presentation with me at our US office.

The evening before, I took him to dinner at a fancy restaurant where the menu was more than 20 pages and I was becoming concerned when he kept paging through it without deciding what to order. When I asked if he could find nothing he liked he laughed and explained that he was counting the spelling errors which was one of his hobbies. I was appalled because I am dyslexic and my 12-year-old daughter had already pointed out that there were myriad spelling errors in the overhead transparencies. After that presentation and learning about my difficulty, he offered to help me prepare the next presentation in Toronto.

I found it interesting that Ken was ambidextrous, switching from writing left to right with his right hand to right to left with his left hand as he put APL examples on the white board. I have right/left ambivalence but not so much dexterity.

— Donna Ydreos
 

 

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, 2004
 

 

Another one of my favorite Ken sayings that I still quote extensively, is that “Having your heart in the right place is no excuse for having your head up your a??.”

— Dick Lathwell, Dad & My Box (9:04), 2009-04
 

 

During an “evening seminar” at a Minnowbrook conference, Ken said to Roy Sykes, “I bet you can’t keep your ear on the bar while I knock on it twice.” Roy, being a good sport, put his ear on the bar. Ken knocked on the bar once, then turned to talk to someone else.

— John Scholes
 

 

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
 

 

What was Ken Iverson’s favorite APL expression? I don’t know that he had one and if he had I don’t know what is was, but if I had to guess …

The expression (0,x)+(x,0) or its commute, which generates the next set of binomial coefficients, is present in the document that introduced APL\360 in 1967 [20, Fig.1] and the one that introduced J in 1990 [21, Gc&Gd]; in Elementary Functions: An Algorithmic Treatment in 1966 [22, p.69], in APL\360 User’s Manual in 1968 [23, A.5], in Algebra: An Algorithmic Treatment in 1972 [24, p.141], in Introducing APL to Teachers in 1972 [25, p.22], in An Introduction to APL for Scientists and Engineers in 1973 [26, p.19], in Elementary Analysis in 1976 [27, ex.1.68], in Programming Style in APL in 1978 [28, §6], in Notation as a Tool of Thought in 1980 [29, A.3], in A Dictionary of APL in 1987 [30, m∇n], and probably others.

— Roger Hui, Sixteen APL Amuse-Bouches, 2014-11-02
 

 

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.
  • You’ll remember the quality long after you’ve forgotten the price.
  • Never give more than one reason for anything—the last one is always the real one. (Recalled by Roland Pesch.)

— Roger Hui
 

 

Ken used to count the cash dispensed by a banking machine. One day, he realized that it was much more likely for him to make a mistake in his counting than for the machine to make a mistake in its dispensing. Then he stopped counting and didn’t worry about it anymore.

— Roger Hui
 

 

I took Ken to Edinburgh airport, let him off, and parked the car, but when I rejoined him Ken broke the news that he had misread the ticket — the flight had left the previous day! We rushed to Glasgow airport for an alternative flight. Ken’s credit card failed to register — fortunately mine worked. Although I was very distressed, Ken’s philosophic response was characteristic: “It’s only money” he remarked — a balanced attitude that more of us should espouse!

— Donald McIntyre, A Tribute to Ken Iverson, 2006
 

 

Ken once forgot to close the windows of his car while parked in the garage of his condo. He lost the loose change in the car that night. In this case, he was glad that the windows were left open because the other cars in the garage had their windows smashed and the car contents stolen.

— Roger Hui
 

 

One time I was with Ken in Manhattan and we needed to get some place. Ken said, “Shall we walk, or do we have time for a taxi?”

— Bob Bernecky
 

 

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.
  • Kenneth E. Iverson and Eugene McDonnell, Phrasal Forms, APL89, 1989, pp. 197-199.
  • 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 remember fondly of the times when Ken would phone me up to ask where on his shelves a book was. (In the condo at the Manulife Center? At the Kiln Farm? Which shelf?)

— Roger Hui
 

 

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
 

 

In January 1999, Ken and Jean Iverson visited Eugene McDonnell in Palo Alto. Eugene held a dinner party in their honor on the thirteenth. In attendance were Eugene and Jeanne McDonnell, Ken and Jean Iverson, Arthur Whitney and Janet Lustgarten, Jim and Karen Brown, Paul and Sachiko Berry, Charles Brenner and Sarita Berry, Larry and Beverly Breed, Harry Saal, Ken’s nephew Derrick Iverson and his wife and new baby, David Steinbrook, Joel Kaplan, Dick Dunbar, Joey Tuttle (who flew in from Boston), and one more.

One of the events of the party was to have been a telephone call from Kyosuke Saigusa in Japan. During the party, Eugene went to make the phone call to Japan as prearranged. He came back a few minutes later, perplexed, saying that he only managed to reach Mrs. Saigusa, who said that Mr. Saigusa was not available.

At that point Saigusa-san walked in through the front door, explaining that he was not available by phone from Japan because he was there in Palo Alto!

— Joey Tuttle
 

 

Ken went with me to my church one Sunday in the late 1990’s. After the service I introduced him as “my friend Ken” to a few members of the congregation. On discovering that RS was a recent graduate of the University of New Brunswick, Ken asked whether they still taught APL there. “They did,” she replied, adding that she learned APL in a course. “What did you think of APL?” Ken asked.

RS then spent a couple of minutes telling us what she thought of APL. When there was a gap in the conversation, I said quietly, “Ken is the inventor of APL.”

The next Sunday, RS came over and admonished, “Don’t ever do that to me again!”

— Roger Hui
 

 

Ken was in London soon after he had joined IPSA. He came along to a UK APL user group meeting, and chatted to some of us afterwards in the pub. I was running an APL software house and Ken asked how things were going at Cocking and Drury.

I mentioned that Dave Saunders (another IPSAer, known for his evangelism of Transcendental Mediation) had taught several of us to meditate.

Ken commented:

- We used to do that down on the farm.
- Really?
- We called it “daydreaming”.

— Romilly Cocking
 

 

A “Kenecdote” is an item in this collection.

— Eugene McDonnell
 

 

Therefore, an item in Eugene McDonnell Quotations and Anecdotes is a “Genecdote”.

— Roger Hui
 

 

Physics labs required a lot of time, and taught me two things. The first was that they were designed only to confirm things we “already knew” from theory, and were not “experiments” in the sense of discovering anything. This was a lesson I made use of in later work (at IBM) in designing “computer experiments”. The second was the importance of recording results in pencil, so that they could be fudged to show reasonable results in the required lab reports. A close friend among the younger students learned this the hard way (in a lab designed to measure the difference in the heat capacity of air at constant volume and at constant pressure). Because of “bad” results he had to repeat the experiment. His new bad results infuriated the professor in charge, who came in on a Saturday to watch the whole process. The upshot was that he re-analyzed the experiment, concluding that secondary effects (such as drafts from an open window) would mask the intended effect — in spite of which, students had been reporting “good” results for a full five years.

Kenneth E. Iverson, 2008
 

 

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 intransitivity of [tolerant] equality is well known in practical situations and can be easily demonstrated by sawing several pieces of wood of equal length. In one case, use the first piece to measure subsequent lengths; in the second case, use the last piece cut to measure the next. Compare the lengths of the two final pieces.

— Richard Lathwell, APL Comparison Tolerance, APL76, 1976
 

 

If functions modify their data and operators modify their functions, then what modifies operators? Answer: Ken Iverson.

— Chirag Pathak
 

 

One of Ken’s masterstrokes in J was to redefine the dyad grade so that x/:y is x indexed by the grade of y , which means that to sort y you can say y/:y . Sometime later in a presentation Chris Burke showed a list of uses of the adverb ~ (reflexive/passive). Now the monad f~ y is defined to be y f y , and in Chris’ list he had /:~y to sort y . Ken was startled when he saw this.

(He didn’t know?! I would give Ken the benefit of every doubt and assume that he probably did know. But suppose he really didn’t know. That would make the design of x/:y even more incredible.)

A subsequent extension imposed a total array ordering in J, which means that the monadic and right domain of /: are all the arrays, whence /:~ sorts all arrays — any rank, any type.

— Roger Hui
 

 

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
 

 

Ken and I had in mind to implement A Dictionary of APL together with hooks and forks (phrasal forms). For years, Ken had struggled to find a way to write f+g as in calculus, from the “scalar operators” in Operators and Functions, through the “til” operator in Practical Uses of a Model of APL and Rationalized APL, and finally forks. Forks are defined as follows:
   (f g h) y   (f y) g (h y)
 x (f g h) y  (x f y) g (x h y)
Moreover, (f g p q r) (f g (p q r)) . Thus to write f+g as in calculus, one writes f+g in J. Ken and Eugene McDonnell worked out the details on the long plane ride back from APL88 in Sydney, Australia, with Ken coming up with the initial idea on waking up from a nap.

— Roger Hui, Remembering Ken Iverson, 2004
 

 

In March 2005, I thought of an extension to fork 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
 

 

Roger’s acknowledgment in [An Implementation of J] was the most extravagant I have ever received: Ex ungue leonem.

Kenneth E. Iverson, 2008
 

 

My copy of I.B. Cohen’s Howard Aiken: Portrait of a Computer Pioneer was a gift and has inscribed on the flyleaf:

   To Roger
   of whom the Commander
would have approved
From Ken Iverson

— Roger Hui
 

 

Woody Allen said, I don’t want to achieve immortality through my work, I want to achieve immortality through not dying. Even Ken couldn’t do it that way, but he did achieve immortality through his work.

— Jeff Shallit, Kenneth E. Iverson Memorial, Toronto, 2004-11-18
 

 

... 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
 



Dramatis Personæ

Phil Abrams
Adam
Howard Aiken
Woody Allen
J.G. Arnold
Robert Ashenhurst
Charles Babbage
Fritz Bauer
George Berkeley
Bob Bernecky
Paul Berry
Sachiko Berry
Sarita Berry
Gerrit Blaauw
George Boole
Beverly Breed
Larry Breed
Charles Brenner
Fred Brooks
Jim Brown
Karen Brown
Robert Browning
Chris Burke
William Burroughs
Florian Cajori
Peter Calingaert
Gitte Christensen
Bill Clinton
Romilly Cocking
I. Bernard Cohen
Stephen Cook
Charles Coolidge Jr.  
Ezra Cornell
e e cummings
George Dantzig
Clarence Day
Lee Dickey
Edsger Dijkstra
Charles Draper
Harold Driscoll
Brian Drury
Dick Dunbar
Friedrich Engel
Erdős Pál
Herman Esser
Eve
Adin Falkoff
Dan Fisher
Henry Ford
Saint Francis
Lib Gibson
Valerie Gilbert
God
James Gosling
Roderick Gould
John Harvard
Miles Hayes
Herb Hellerman
Rob Hodgkinson
Albert Hopkins Jr.
A.E. Housman
Roger Hui
Oscar Ibarra
Derrick Iverson
Eric Iverson
Jean Iverson
F. Kenneth Iverson  
Ken Iverson
Kirk Iverson
James VI and I
Joel Kaplan
Tom Keenan
Garrison Keillor
John F. Kennedy
William Keuffel
Donald Knuth
Morten Kromberg
Scott Krueger
Dick Lathwell
Antoine Lavoisier
John Lawrence
Wassily Leontief
Nathan Linial
Carl Linnaeus
Janet Lustgarten
Eugene McDonnell
Jeanne McDonnell
Donald McIntyre
James McKinsey
LeRoy Martin Jr.
William Matson
Robert Minnick
Herbert Mitchell Jr.
Michael Montalbano  
Roger Moore
Shlomo Moran
Samuel Morse
Bob Oakford
Anthony Oettinger
Blaise Pascal
Chirag Pathak
T.A. Pierce
Alan Perlis
Roland Pesch
Cliff Reiter
Paul Reuter
William Rice
Al Rose
Paul Roth
Harry Saal
Kyosuke Saigusa
Miyoko Saigusa
Gerard Salton
Dave Saunders
John Scholes
G.K. Sedlmayer
Warren Semon
Robert Service
Jeffrey Shallit
Ian Sharp
Barry Silverman
Brian Silverman
Theodore Singer
Bob Smith
Leland Stanford Jr.
David Steinbrook
Ted Strong
Roy Sykes Jr.
Alfred Tennyson
Alan Turing
Joey Tuttle
Thomas J. Watson Jr.
Thomas J. Watson Sr.
Gregory Welch
Alfred Whitehead
Arthur Whitney
John Wiley
William of Occam
Woodrow Wilson
Stephen Wolfram
Luther Woodrum
Donna Ydreos