Gene McDonnell

Eugene Edward McDonnell (October 18, 1926 – August 17, 2010) was an APL implementer and designer, and popularizer of APL and J. He edited the APL Quote-Quad column "Recreational APL" and wrote the "At Play with J" series of articles for Vector journal, and received the Iverson Award in 1987.

McDonnell, a programmer since 1954, joined IBM and first learned about Iverson notation in 1961, and joined Ken Iverson's group at IBM in 1968. He left IBM for I.P. Sharp Associates in 1978, where he worked under Eric Iverson.

Contributions to APL and J
McDonnell suggested the symbol  for Signum and designed the Circle function  as a way to unify trigonometric and hyperbolic functions. He designed APL's complex Floor and suggested the extension of Or and And  to GCD and LCM. He was also involved in the introduction of complex numbers to SHARP APL. His suggestion that zero divided by zero should be zero rather than one was later adopted by J.

In 1988, McDonnell and Ken Iverson developed function train notation, one of the major innovations that spurred the creation of J.

APL conferences

 * APL74: The caret functions: Efficient algorithms for scans and reductions of eight Boolean functions.
 * APL75: A notation for the GCD and LCM functions.
 * APL76: Zero divided by zero.
 * APL79: Fuzzy residue.
 * APL80: Extending APL to infinity. With Jeffrey Shallit.
 * APL85: Promoting APL (panel). With Patricia A. Buteux, Edward M. Cherlin, Percy Feiner, Jim Lucas, Michael Sunday, and Sheryl Winton.
 * APL86: A perfect square root routine.
 * APL88: Life: Nasty, brutish, and short.
 * APL89: Phrasal forms. With K. E. Iverson.
 * APL90: APL\?. With Roger K. W. Hui, Kenneth E. Iverson, and Arthur T. Whitney.
 * APL91: Tacit definition. With Roger K. W. Hui and Kenneth E. Iverson.
 * APL93: From trees into boxes. With David Steinbrook.

SHARP APL Technical Notes

 * SATN-40: Complex Numbers. 1981-06-20.
 * SATN-45: Language Extensions of May 1983 (with Bob Bernecky, Ken Iverson, Robert Metzger, and J. Henri Schueler). 1983-05-02.