Peter Landin

From Wikipedia, the free encyclopedia
  (Redirected from Peter J. Landin)
Jump to navigation Jump to search

Emeritus Professor

Peter Landin
Peter Landin.png
Born(1930-06-05)5 June 1930
Died3 June 2009(2009-06-03) (aged 78)
CitizenshipUnited Kingdom
EducationClare College, Cambridge University
Known forISWIM, J operator, SECD machine, off-side rule
Scientific career
FieldsComputer science, education
InstitutionsChristopher Strachey, computer consultant
Univac
Massachusetts Institute of Technology
Queen Mary University of London
InfluencesJohn McCarthy

Peter John Landin (5 June 1930 – 3 June 2009[1][2]) was a British computer scientist. He was one of the first to realise that the lambda calculus could be used to model a programming language, an insight that is essential to development of both functional programming and denotational semantics.

Academic[edit]

Landin was born in Sheffield, where he attended King Edward VII School; he graduated from Clare College, Cambridge University.[2] From 1960 to 1964, he was the assistant to Christopher Strachey when the latter was an independent computer consultant in London.[3] Most of his work was published during this period and the brief time he worked for Univac and at the Massachusetts Institute of Technology in the United States, before taking a position at Queen Mary University of London. During the 1970s and 1980s, his efforts went into building the computer science department in Queen Mary College, developing courses, and teaching students, as set forth in the foreword to the text book Programming from First Principles.[4] On his retirement, he was appointed Emeritus Professor of Theoretical Computation at Queen Mary University of London, where in 2012, the computer science building was renamed the Peter Landin Building in his honour.

At a workshop at the Science Museum, London, in 2001, on the history of programming semantics he spoke of how his scholarly career in computer science began in the late 1950s and of how he was much influenced by a study of John McCarthy's Lisp language when the most commonly used language was Fortran.[5]

He was active in the definition of the ALGOL programming language. He is listed among those who attended the November 1959 conference in Paris,[6] and the 1962 conference,[7][8] and cited by Tony Hoare as one of the people who taught him ALGOL 60 and hence facilitated his expression of powerful recursive algorithms:

"Around Easter 1961, a course on ALGOL 60 was offered in Brighton, England, with Peter Naur, Edsger W. Dijkstra, and Peter Landin as tutors. ... It was there that I first learned about recursive procedures and saw how to program the sorting method which I had earlier found such difficulty in explaining. It was there that I wrote the procedure, immodestly named QUICKSORT, on which my career as a computer scientist is founded. Due credit must be paid to the genius of the designers of ALGOL 60 who included recursion in their language and enabled me to describe my invention so elegantly to the world. I have regarded it as the highest goal of programming language design to enable good ideas to be elegantly expressed."[9]

He was a member of the International Federation for Information Processing (IFIP) IFIP Working Group 2.1 on Algorithmic Languages and Calculi, which supports and maintains the programming languages ALGOL 60 and ALGOL 68.[10]

Landin is responsible for inventing the stack, environment, control, dump SECD machine, the first abstract machine for a functional programming language,[11] and the ISWIM programming language, defining the Landin off-side rule and for coining the term syntactic sugar. The off-side rule allows bounding scope declaration by use of white spaces as seen in languages such as Miranda, Haskell, Python, and F# (using the light syntax).

Another phrase originating with Landin is "The next 700 ..." after his influential paper The next 700 programming languages.[12] "700" was chosen because Landin had read in the Journal of the ACM that there were already 700 programming languages in existence.[13] The paper opens with the quotation "... today ... 1,700 special programming languages used to 'communicate' in over 700 application areas."[14] It also includes the joke that

A possible first step in the research program is 1700 doctoral theses called "A Correspondence between x and Church's λ-notation."

a reference to his earlier paper.[15] This dry sense of humour is expressed in many of his papers.

Political[edit]

Landin, who was bisexual,[2] became involved with the Gay Liberation Front (GLF) during the early 1970s. He was once arrested as part of an anti-nuclear demonstration.[16] He was a dedicated cyclist and moved around London on his bike until it became physically impossible for him to do so.[citation needed]

Selected publications[edit]

  • Landin, Peter J. (1964). "The mechanical evaluation of expressions". The Computer Journal. British Computer Society. 6 (4): 308–320. doi:10.1093/comjnl/6.4.308.CS1 maint: ref=harv (link)
  • Landin, Peter J. (1966). Steel, T. B., Jr. (ed.). "A formal description of Algol 60". Formal Language Description Languages for Computer Programming: 266–294.
  • Landin, Peter J. (February 1965a). "Correspondence between ALGOL 60 and Church's Lambda-notation: part I". Communications of the ACM. Association for Computing Machinery. 8 (2): 89–101. doi:10.1145/363744.363749.CS1 maint: ref=harv (link)
  • Landin, Peter J. (March 1965b). "A correspondence between ALGOL 60 and Church's Lambda-notation: part II". Communications of the ACM. Association for Computing Machinery. 8 (3): 158–165. doi:10.1145/363791.363804.CS1 maint: ref=harv (link)
  • Landin, Peter J. (29 August 1965c). "A Generalization of Jumps and Labels". UNIVAC Systems Programming Research (Technical Report).CS1 maint: ref=harv (link) Reprinted in Landin, Peter J. (December 1998). "A Generalization of Jumps and Labels". Higher-Order and Symbolic Computation. 11 (2): 125–143. doi:10.1023/A:1010068630801.
  • Landin, Peter J. (March 1966). "The next 700 programming languages". Communications of the ACM. Association for Computing Machinery. 9 (3): 157–166. doi:10.1145/365230.365257.CS1 maint: ref=harv (link)

See also[edit]

Notes[edit]

  1. ^ Peter Landin, Lambda the Ultimate, 4 June 2009.
  2. ^ a b c Bornat 2009a
  3. ^ Hashagen, Ulf; Keil-Slawik, Reinhard; Norberg, Arthur L., eds. (5–7 April 2000). History of computing: software issues. International Conference on the History of Computing, ICHC 2000, Heinz Nixdorf MuseumsForum, Paderborn, Germany. Berlin: Springer (published 29 June 2013). ISBN 978-3-662-04954-9. OCLC 861966658.
  4. ^ Bornat, Richard (1987). Programming from First Principles. Prentice Hall. ISBN 978-0-13-729104-5.
  5. ^ "Program Verification and Semantics: Report". 2001. Archived from the original on 26 September 2007. Retrieved 27 July 2014.
  6. ^ "AB8 December 1959". December 1959. Archived from the original on 15 June 2009.
  7. ^ Backus, J. W.; Wegstein, J. H.; van Wijngaarden, A.; Woodger, M.; Nauer, P.; Bauer, F. L.; Green, J.; Katz, C.; McCarthy, J.; Perlis, A. J.; Rutishauser, H.; Samelson, K.; Vauquois, B. "Revised Report on the Algorithmic Language Algol 60". mass:werk.
  8. ^ Landin 1964b
  9. ^ ACM Turing Award Lecture: The Emperor's Old Clothes. C. Antony R. Hoare, 1980, Published in the Communications of the ACM.
  10. ^ Jeuring, Johan; Meertens, Lambert; Guttmann, Walter (17 August 2016). "Profile of IFIP Working Group 2.1". Foswiki. Retrieved 5 August 2020.
  11. ^ Diehl, Stephan; Hartel, Pieter; Sestoft, Peter (2000). "Abstract machines for programming language implementation". Future Generation Computer Systems. 16. pp. 739–751.
  12. ^ Landin 1966
  13. ^ Personal communication, September 2007.
  14. ^ Computer Software Issues, an American Mathematical Association Prospectus, July 1965.
  15. ^ Landin 1965a
  16. ^ Bornat 2009b

Further reading[edit]

External links[edit]