Jump to content

Peter Landin

From Wikipedia, the free encyclopedia
(Redirected from Landin, Peter)

Peter Landin
Born
Peter John Landin

(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, syntactic sugar
Scientific career
FieldsComputer science, education
InstitutionsChristopher Strachey, computer consultant
Univac
Massachusetts Institute of Technology
Queen Mary University of London

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 the 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.[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 textbook 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]

Landin was involved with international standards in programming and informatics, as a member of the International Federation for Information Processing (IFIP) IFIP Working Group 2.1 on Algorithmic Languages and Calculi,[10] which specified, maintains, and supports the programming languages ALGOL 60 and ALGOL 68.[11]

Landin is responsible for inventing the stack, environment, control, dump SECD machine, the first abstract machine for a functional programming language,[12] 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.[13] "700" was chosen because Landin had read in the Journal of the ACM that there were already 700 programming languages then extant.[14] The paper opens with the quotation "... today ... 1,700 special programming languages used to 'communicate' in over 700 application areas."[15] 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.[16] 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.[17] He was a dedicated cyclist and moved around London on his bike until it became physically impossible for him to do so.[citation needed]

Legacy

[edit]

The Bodleian Library in Oxford holds an archive of material relating to Peter Landin.[18] Since 2010, there has been an Annual Peter Landin Semantics Seminar held annually each December organized by the BCS-FACS Specialist Group on Formal Aspects of Computing Science.[19] The first seminar was delivered by the American computer scientist John C. Reynolds (1935–2013).[20] There is a Peter Landin Building at Queen Mary University of London housing teaching and research facilities for computer science.[21]

Selected publications

[edit]
  • Landin, Peter J. (1964). "The mechanical evaluation of expressions". The Computer Journal. 6 (4). British Computer Society: 308–320. doi:10.1093/comjnl/6.4.308.
  • Landin, Peter J. (February 1965a). "Correspondence between ALGOL 60 and Church's Lambda-notation: part I". Communications of the ACM. 8 (2). Association for Computing Machinery: 89–101. doi:10.1145/363744.363749. S2CID 6505810.
  • Landin, Peter J. (March 1965b). "A correspondence between ALGOL 60 and Church's Lambda-notation: part II". Communications of the ACM. 8 (3). Association for Computing Machinery: 158–165. doi:10.1145/363791.363804. S2CID 15781851.
  • Landin, Peter J. (29 August 1965c). "A Generalization of Jumps and Labels". UNIVAC Systems Programming Research (Technical Report). 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. S2CID 5579841.
  • Landin, Peter J. (1966a). Steel, T. B. Jr. (ed.). "A formal description of Algol 60". Formal Language Description Languages for Computer Programming: 266–294.
  • Landin, Peter J. (March 1966b). "The next 700 programming languages". Communications of the ACM. 9 (3). Association for Computing Machinery: 157–166. doi:10.1145/365230.365257. S2CID 13409665.

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. ^ Numerico, Teresa; Bowen, Jonathan P. (January–March 2002). "Program Verification and Semantics: The early work". IEEE Annals of the History of Computing. 24 (1): 90–92. Archived from the original on 26 September 2007.
  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.; Naur, P.; Bauer, F. L.; Green, J.; Katz, C.; McCarthy, J.; Perlis, A. J.; Rutishauser, H.; Samelson, K.; Vauquois, B. (1 January 1963). "Revised Report on the Algorithmic Language Algol 60". mass:werk.
  8. ^ Landin 1966a
  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 10 September 2020.
  11. ^ Swierstra, Doaitse; Gibbons, Jeremy; Meertens, Lambert (2 March 2011). "ScopeEtc: IFIP21: Foswiki". Foswiki. Retrieved 10 September 2020.
  12. ^ Diehl, Stephan; Hartel, Pieter; Sestoft, Peter (2000). "Abstract machines for programming language implementation". Future Generation Computer Systems. Vol. 16. pp. 739–751.
  13. ^ Landin 1966b
  14. ^ Personal communication, September 2007.
  15. ^ Computer Software Issues, an American Mathematical Association Prospectus, July 1965.
  16. ^ Landin 1965a
  17. ^ Bornat 2009b
  18. ^ "Archive of Peter Landin, computer scientist, academic and gay rights campaigner". Bodleian Archives & Manuscripts. UK: Bodleian Libraries, University of Oxford. Retrieved 3 August 2022.
  19. ^ "BCS FACS Annual Peter Landin Semantics seminar". BCS-FACS. BCS, The Chartered Institute for IT. 2012. Retrieved 4 December 2012.
  20. ^ "Peter Landin Annual Semantics Seminar". BCS-FACS. London, UK: BCS, The Chartered Institute for IT. 6 December 2010. Archived from the original on 6 March 2012.
  21. ^ "Peter Landin Building". UK: Queen Mary University of London. Retrieved 13 December 2022.

Sources

[edit]
[edit]