彼得·兰丁

彼得·约翰·兰丁（英語：Peter John Landin，1930年6月5日—2009年6月3日），英国计算机科学家。他最早提出阿隆佐·邱奇的λ演算可以被用作计算机程序语言的模型，这后来成为函数式编程和指称语义的基础。 兰丁出生于英格兰的谢菲尔德，中学时代就读于爱德华七世学校；他从剑桥大学克莱尔学院毕业。在1960年到1964年间，他成为了克里斯托弗·斯特雷奇的助手，当时斯特雷奇在伦敦担任一名独立计算机顾问。他的大部分成果均发表于这期间以及后来在美国麻省理工学院参与UNIVAC工作的短暂时间。之后他在伦敦玛丽王后大学找到了一份教职工作。70年代到80年代，他的主要精力投入了伦敦玛丽王后大学计算机科学部的创设、课程设置和教学。在他退休之后，他获得了伦敦玛丽王后大学的理论计算学荣誉教授称号。2012年，伦敦玛丽王后大学的计算机科学大楼以他的名字命名。 2001年，在伦敦科学博物馆的一个关于程序语言形式语义学的会议上，他回顾了他的学术生涯；他的计算机科学研究肇始于20世纪50年代，极大地受到了当时约翰·麦卡锡的LISP语言的影响，而他自己使用得最多的编程语言则是Fortran。 60年代，兰丁在ALGOL程序语言的标准化制定中起到了推动作用；图灵奖获得者托尼·霍尔称他是几个教会他ALGOL 60语言的人之一。 1964年，兰丁提出了闭包的概念。这一概念后来被Scheme语言实现，并逐渐成为了函数式编程中的重要概念。兰丁设计了SECD抽象机，这是第一个被确切定义的抽象过程虚拟机。 1966年，他在SECD抽象机的基础上设计了ISWIM程序语言，定义了他所谓的越位规则，并第一次提出了程序语言语法糖的概念。越位语法规则使用空格缩进来控制名称声明的作用域，这后来在Miranda、Haskell、Python和F#等语言中得到了运用。 兰丁最重要的论文是1966年发表的《The next 700 programming languages》，它对后来程序语言研究有影响深远。之所以选择“700”这个数字，据说是因为兰丁在《ACM期刊》上读到一篇文章说世界上已经存在过700种程序语言。 兰丁是一名公开的双性恋、同性恋权益活动家，在20世纪70年代早期参与过同志解放阵线（英语：Gay Liberation Front）的活动。他曾一度因参加反核游行而被逮捕。他还是一名自行车友。 Landin, Peter J. The mechanical evaluation of expressions (PDF). The Computer Journal (British Computer Society). 1964, 6 (4): 308–320 [2022-11-16]. doi:10.1093/comjnl/6.4.308. （原始内容存档 (PDF)于2022-11-16）.  Landin, Peter J. T. B. Steel, Jr. , 编. A formal description of Algol 60. Formal Language Description Languages for Computer Programming. 1966: 266–294.  Landin, Peter J. Correspondence between ALGOL 60 and Church's Lambda-notation: part I. Communications of the ACM (Association for Computing Machinery). February 1965a, 8 (2): 89–101 [2022-11-16]. doi:10.1145/363744.363749. （原始内容存档于2022-11-16）.  Landin, Peter J. A correspondence between ALGOL 60 and Church's Lambda-notation: part II. Communications of the ACM (Association for Computing Machinery). March 1965b, 8 (3): 158–165 [2022-11-16]. doi:10.1145/363791.363804. （原始内容存档于2022-11-16）.  Landin, Peter J. A Generalization of Jumps and Labels. UNIVAC Systems Programming Research (technical report). 1965-08-29.  Reprinted in: A Generalization of Jumps and Labels. Higher-Order and Symbolic Computation. December 1998, 11 (2): 125–143. doi:10.1023/A:1010068630801.  Landin, Peter J. The next 700 programming languages. Communications of the ACM (Association for Computing Machinery). March 1966, 9 (3): 157–166 [2022-11-16]. doi:10.1145/365230.365257. （原始内容存档于2022-11-16）.  Peter Landin （页面存档备份，存于互联网档案馆）, Lambda the Ultimate （页面存档备份，存于互联网档案馆）, 4 June 2009. Bornat 2009a Acknowledged in the foreword to the text book “Programming from First Principles” by Richard Bornat. Published by Prentice Hall, 1987. ISBN 978-0-13-729104-5. Program Verification and Semantics: Report. [2014-07-27]. （原始内容存档于2007-09-26）. , 2001. Listed amongst those who attended the November 1959 conference in [Paris] [1] （页面存档备份，存于互联网档案馆） and the 1962 conference [2] （页面存档备份，存于互联网档案馆）. Landin 1964 ACM Turing Award Lecture: The Emperor's Old Clothes. C. Antony R. Hoare, 1980, Published in the Communications of the ACM. Landin 1966 harvnb error: multiple targets (2×): CITEREFLandin1966 (help) Personal communication, September 2007. Bornat 2009b Bornat, Richard. Peter Landin obituary. The Guardian Obituaries. 2009-09-23: 34 [2009-09-29]. （原始内容存档于2012-12-23）.  Bornat, Richard. Peter Landin: a computer scientist who inspired a generation, 5th June 1930 - 3rd June 2009. Formal Aspects of Computing (Berlin: Springer-Verlag). 2009-09-17, 21 (5): 393–395. ISSN 0934-5043. doi:10.1007/s00165-009-0122-y.