Peter Landin was an important figure in the development of programming language theory. He was instrumental in creating the distinction between syntax and semantics that we know today. Further, he helped show how programming languages could be mapped onto the Lambda Calculus even after they were designed (as opposed to a language like LISP that was designed to be a Lambda Calculus). This of course has had tremendous impact on our understanding of functional programming and compilers. He died in 2009.
Landin published this gem back in 1966. He analyzes the problem of defining a computer language and keenly dissects the issues with an inspiring clarity. He separates out syntax from the syntax tree, shows how they relate, and asserts the principle that the value of an expression should be based only on its subexpressions. This paper also argues that expression equivalencies should be considered vital. And as a side note, he invents significant whitespace. The paper is old, but still contains many insights that are not commonly heard.
Richard Bornat wrote this obituary shortly after Landin's death in 2009. It tells the story of someone with brave ideas from mathematics who was never satisfied with programming as it was. He didn't publish much, but was often there as part of the discussion that birthed and developed the ideas.
A shorter version of this was published in The Guardian.
Peter Landin was an open bisexual and very active in the gay rights movement since the 1970s. This piece is part of a larger series about the gay history of computer science.