Notation as a tool of thought
Paper · 1980 · Kenneth E. Iverson
Summary
Iverson's 1979 Turing Award Lecture asks whether one language can be both a programming language and a medium for mathematical reasoning. Conventional mathematical notation is compact and suggestive, but its meaning shifts with topic, author and context. Most programming languages are general-purpose, unambiguous and runnable, yet mathematicians seldom use them to think. Iverson argues that APL, which began as a notation for writing and teaching before it was implemented, combines both sets of strengths. He introduces APL gradually, in the course of working problems rather than up front. Early examples include counting atoms in close-packed crystal layers and deriving triangular numbers with sum reduction and sum scan. Later sections cover polynomials, conversions between representations of functions such as permutations and directed graphs, and formal proofs of identities used earlier. The lecture closes by comparing APL with standard notation and discussing efficiency. The work matters because it presents programming notation as a way to explore and prove ideas, not only a way to instruct machines.
Key points
- The paper names five qualities of a good notation: it should express problem constructs easily, be suggestive, subordinate detail, be economical, and be amenable to formal proof. Executability and universality are added on top of these.
- Worked examples show how the notation suggests general results:
- the sum of ⍳N equals ((N+1)×N)÷2;
- the power function relates to times in the same way that times relates to plus;
- figurate numbers and factorials arise from repeated scans;
- a single duality pattern covers De Morgan's laws and multiplication via logarithms.
- The paper has four stages: notation characteristics (§1), polynomials (§2), transformations between function representations (§3), and identities with formal proofs (§4). A concluding comparison with mathematical notation follows.
- Appendix A summarizes all APL notation used, with fuller coverage in APL Language (IBM, pp. 24–60). Appendix B gives an APL compiler that converts direct-definition functions into canonical, executable form, illustrated with a Fibonacci function.
- On efficiency, Iverson warns that counting only arithmetic operations ignores housekeeping costs such as indexing. He also notes that languages and hardware have shaped each other in a circular way.
Institutions
Fields, topics and concepts
📚 Shelves 3The field of science this work belongs to (OpenAlex fields).Computer Science · 19,503 worksArtificial Intelligence · 18,805 worksComputer Science Applications · 184 works
🧭 Topics 1Research subjects and languages the work is about.Reasoning · 1,948 works
Cite
Cite as Kenneth E. Iverson. 1980. Notation as a tool of thought. Communications of the ACM 23(8):444–465 (Turing Award Lecture 1979).
@inproceedings{iverson1980notation,
title = {{Notation as a tool of thought}},
author = {Kenneth E. Iverson},
booktitle = {Communications of the ACM 23(8):444–465 (Turing Award Lecture 1979)},
year = {1980},
doi = {10.1145/358896.358899},
url = {https://doi.org/10.1145/358896.358899}
}References
- Boole, G. An Investigation of the Laws of Thought, Dover Publications, N.Y., 1951. Originally published in 1954 by Walton and Maberly, London and by MacMillan and Co., Cambridge. Also available in Volume II of the Collected Logical Works of George Boole, Open Court Publishing Co., La Salle, Illinois… find
- Cajori, F. A History of Mathematical Notations, Volume If, Open Court Publishing Co., La Salle, Illinois, 1929. find
- Falkoff, A.D., and Iverson, K.E. The Evolution of APL, Proceedings of a Conference on the History of Programming Languages, ACM SIGPLAN, 1978. find
- APL Language, Form No. GC26-3847-4, IBM Corporation. find
- Iverson, K.E. Elementary Analysis, APL Press, Pleasantville, N.Y., 1976. find
- Iverson, K.E. Algebra: an algorithmic treatment, APL Press, Pleasantville, N.Y., 1972. find
- Kerner, I.O. Ein Gesamtschrittverfahren zur Berechnung der Nullstellen von Polynomen, Numerische M a t h e m a t i k , Vol. 8, 1966, pp. 290-294. find
- Beckenbach, E.F., ed. A p p l i e d Combinatorial M a t h e m a t - ics, John Wiley and Sons, New York, N.Y., 1964. find
- Tarjan, R.E, Testing Flow Graph Reducibility, J o u r n a l of C o m p u t e r a n d Systems Sciences, Vol. 9 No. 3, Dec. 1974. find
- Spence, R. Resistive Circuit Theory, APL Press, Pleasantville, N.Y., 1972. find
- Iverson, K.E. A P r o g r a m m i n g Language, John Wiley and Sons, New York, N.Y., 1962. find
- Iverson, K.E. A n I n t r o d u c t i o n to A P L f o r Scientists a n d Engineers, APL Press, Pleasantville, N.Y. find
- Orth, D.L. Calculus in a new key, APL Press, Pleasantville, N.Y., 1976. find
- Apostol, T.M. M a t h e m a t i c a l Analysis, Addison Wesley Publishing Co., Reading, Mass., 1957. find
- Jolley, L.B.W. S u m m a t i o n o f Series, Dover Publications, N.Y. i find
- Oldham, K.B., and Spanier, J. The F r a c t i o n a l Calculus, Academic Press, N.Y., 1974. find
- A P L Quote Quad, Vol. 9, No. 4, June 1979, ACM STAPL. find
- Iverson, K.E., Operators a n d Functions, IBM Research Report RC 7091, 1978. find
- McDonnell, E.E., A Notation for the GCD and LCM Functions, A P L 75, P r o c e e d i n g s o f an A P L Conference, ACM, 1975. find
- Iverson, K.E., Operators, A C M T r a n s a c t i o n s on Prog r a m m i n g L a n g u a g e s A n d Systems, October 1979. find
- Blaauw, G.A., D i g i t a l S y s t e m I m p l e m e n t a t i o n , Prentice-Hall, Englewood Cliffs, N.J., 1976. find
- McIn{yre, D.B., The Architectural Elegance of Crystals Made Clear by APL, A n A P L Users M e e t i n g , I.P. Sharp Associates, Toronto, Canada, 1978. Communications of the ACM August 1980 Volume 23 Number 8 find
Updated
This page in Markdown → https://md.research.elamur.ai/free/en/papers/iverson-1980-notation-as-tool-thought/