Mr. J.K. Tuttle
Your questions about the early development of APL spurred me to think about the matter and to reread a few old documents. I soon realized that it might be wise to set my thoughts down for you while still fresh.
A lot of information can be found in The Design of APL and The Evolution of APL, written by me and Falkoff. These are most easily available in A Source Book in APL, published by APL Press. Clear references to the original publications are provided.
More detail on the earliest development at Harvard can be found in the preface to my A Programming Language, dated May 1962, and published the same year by Wiley. I should also mention that the work was partially supported by a research contract that Harvard (in the person of my mentor, Professor Howard Aiken) had with Bell Telephone Laboratories. An early version of what became the APL language was described in a paper entitled “The Description of Finite Sequential Processes” in Report Number 23 to Bell. A revised version of the same paper was published in the proceedings of a conference on Information Theory, organized by Professor Colin Cherry of Imperial College, London, and held there in the summer of 1960, shortly after I had joined IBM.
Although I joined IBM in June 1960, and my book did not appear until 1962, most of the work in it was completed before I left Harvard. This is rather accurately reflected in the large number of acknowledgements to Harvard colleagues and students, and the small number (3) of acknowledgements to IBM colleagues. In fact, I joined IBM with the understanding that I could complete the book and publish it as I chose.
The only incomplete sections that benefitted materially from my association with IBM was the description of the IBM 7090 machine in chapter 2. All of the information I used was, of course, available in manuals, but personal contact speeded the work.
Modern APL differs, of course, from that described in my 1962 book. However, the greatest apparent change is rather superficial, that is, the change from “publication form” using subscripts, superscripts, etc. to the linear “implementation” form dictated by mechanical devices. The principal notions of APL are all there, including operators (such as /), although they were not identified as such, nor (as in the case of inner product) always assigned symbols.
Like most intellectuals, I like to see my work used, and have never wished to assert a proprietary interest in it. In the case of languages, natural as well as formal, it is fortunate that the interest of the developers of a language is best served by spreading rather than restricting its use. In any event, organizations such as governments (in cases such as COBOL and ADA) and corporations (in cases such as FORTRAN and PL1) seem to have encouraged the adoption and standardization of languages which they developed, and enlightened self-interest seems to restrain any impulse to assert rights of ownership.
In the case of APL, Falkoff not only initiated the development of a standard within IBM, but published it in the Communications of the ACM under ACM copyright. Since then, of course, many organizations have contributed generously to the development of a standard that is now being promulgated by the International Standards Organization.
I hope this answers your questions — if not, do not hesitate to re-open the discussion.
Reprinted with permission from Joey Tuttle and the Iverson estate.