Alan Perlis

Alan Jay Perlis was an American computer science and Turing Award recipient known for pioneering work in early programming language design and development, in particular of ALGOL. He was an advocate of APL, and taught it in university courses.

Perlis was first introduced to APL at Ken Iverson's 1963 talk on "Formalism in Programming languages", where he asked about executing APL on computers. However, it was much later, after the implementation of APL on computers, that he became a devotee of APL. Edsger Dijkstra cited Perlis in this period as the main source for his exposure to APL (Dijkstra was never a fan of APL, and criticized it harshly).

In his paper FAC: A Functional APL Language, Perlis discussed infinite arrays and presented the iter operator, which produces from a function and an initial argument an infinite list of all the results obtained by iterating that function (as with the Power operator) on the argument. Eugene McDonnell cites Perlis and Hai-Chen Tu's definition of the dyadic iter operator as the inspiration for his definition of the dyadic Power operator.

Publications

 * 1974. "Steps Toward an APL Compiler", NSF report #24. (Information)
 * 1977. "The APL Idiom List" (PDF). With Spencer Rugaber.
 * 1977. In Praise of APL: A Language for Lyrical Programming
 * 1978. Almost Perfect Artifacts Improve only in Small Ways: APL is more French than English
 * 1979. "Programming with idioms in APL" at APL79. With Spencer Rugaber.
 * 1979. "APL and LISP—should they be combined, and if so how?" at APL79. With William H. Burge, Joel Moses, and Vaughan R. Pratt.
 * 1981. "Is APL a programming language or isn’t it?" at APL81.
 * 1983. Foreword to APL: An Interactive Approach, Third Edition, Wiley.
 * 1986. FAC: A Functional APL Language. With Tu Hai-Chen.

See also this listing of Perlis's APL-related publications at the Charles Babbage Institute.

Quotations
"The large number of primitive functions, at first mind-numbing in their capabilities, quickly turn out to be easily mastered, soon almost all are used naturally in every program — the primitive functions form a harmonious and useful set."

"In APL, I find that to a far greater degree than any other language that I’ve used, I can make statements about the programs that I’m writing, in APL — actually not exactly APL, but APL with some nice little extensions that I dream up at the moment but would never think of implementing. But by and large, I find that the language allows me to express myself, in the language, about the things I’m dealing with. I find that a very precious property of a programming language."

"It is very difficult, believe me, to take someone who has been exposed to BASIC — and therefore believes that he now has the key — and teach him how to think in terms of APL; it’s just very difficult."

"85. Though the Chinese should adore APL, it’s FORTRAN they put their money on."