Anec

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 APL360 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
APL360 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 APL360 source code.
They demonstrated their
APL360 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 APL360 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 APL360 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