John Charles Reynolds (June 1, 1935 – April 28, 2013) was an American computer scientist.[1]

John C. Reynolds
Born
John Charles Reynolds

(1935-06-01)June 1, 1935
United States
DiedApril 28, 2013(2013-04-28) (aged 77)
CitizenshipUnited States
EducationPurdue University
Ph.D., Harvard University (1961)
Known forcontinuations, definitional interpreters, defunctionalization, Forsythe, Gedanken language, intersection types, polymorphic lambda calculus, relational parametricity, separation logic, ALGOL
AwardsLovelace Medal (2010)
Scientific career
FieldsComputer scientist
InstitutionsSyracuse University
Carnegie Mellon University
Thesis Surface Properties of Nuclear Matter  (1961)
Doctoral studentsBenjamin C. Pierce
Websitewww.cs.cmu.edu/~jcr

Education and affiliations edit

John Reynolds studied at Purdue University and then earned a Doctor of Philosophy (Ph.D.) in theoretical physics from Harvard University in 1961. He was a professor of information science at Syracuse University from 1970 to 1986. From then until his death, he was a professor of computer science at Carnegie Mellon University. He also held visiting positions at Aarhus University (Denmark), The University of Edinburgh, Imperial College London, Microsoft Research (Cambridge, UK) and Queen Mary University of London.

Academic work edit

Reynolds's main research interest was in the area of programming language design and associated specification languages, especially concerning formal semantics. He invented the polymorphic lambda calculus (System F) and formulated the property of semantic parametricity; the same calculus was independently discovered by Jean-Yves Girard. He wrote a seminal paper on definitional interpreters, which clarified early work on continuations and introduced the technique of defunctionalization. He applied category theory to programming language semantics. He defined the programming languages Gedanken and Forsythe, known for their use of intersection types. He worked on a separation logic to describe and reason about shared mutable data structures.

Reynolds created an elegant, idealized formulation of the programming language ALGOL, which exhibits ALGOL's syntactic and semantic purity, and is used in programming language research. It also made a convincing methodologic argument regarding the suitability of local effects in the context of call-by-name languages, in contrast with the global effects used by call-by-value languages such as ML. The conceptual integrity of the language made it one of the main objects of semantic research, along with Programming Computable Functions (PCF) and ML.[2]

He was an editor of journals such as the Communications of the ACM and the Journal of the ACM. In 2001, he was appointed a Fellow of the Association for Computing Machinery (ACM). He won the ACM SIGPLAN Programming Language Achievement Award in 2003, and the Lovelace Medal from the British Computer Society in 2010.

Selected publications edit

Books
  • The Craft of Programming, Prentice Hall International, 1981. ISBN 0-13-188862-5.
  • Theories of Programming Languages, Cambridge University Press, 1998. ISBN 0-521-59414-6.
Articles

References edit

  1. ^ Fisher, Larry (29 April 2013). "John Reynolds, 1935–2013". Communications of the ACM: ACM News. United States: Association for Computing Machinery. Retrieved 30 April 2013.
  2. ^ O'Hearn, Peter; Tennent, Robert D. (1997). Algol-Like Languages. Cambridge, Massachusetts, United States: Birkhauser Boston. doi:10.1007/978-1-4612-4118-8. ISBN 978-0-8176-3880-1. S2CID 6273486.

Further reading edit

External links edit