彼得·蘭丁
彼得·約翰·蘭丁(英語:Peter John Landin,1930年6月5日—2009年6月3日[1][2]),英國計算機科學家。他最早提出阿隆佐·邱奇的λ演算可以被用作計算機程序語言的模型,這後來成為函數式編程和指稱語義的基礎。
彼得·蘭丁 Peter Landin | |
---|---|
出生 | 英國英格蘭謝菲爾德 | 1930年6月5日
逝世 | 2009年6月3日 | (78歲)
國籍 | 英國 |
公民權 | 英國 |
母校 | 劍橋大學克萊爾學院 |
知名於 | ISWIM, J算子, SECD抽象機, 越位規則 |
科學生涯 | |
機構 | 瑪麗王后學院 |
受影響自 | 約翰·麥卡錫(John McCarthy) 阿隆佐·邱奇(Alonzo Church) 克里斯托弗·斯特雷奇(Christopher Strachey) |
施影響於 | 托尼·霍爾(Tony Hoare) |
學術生涯
編輯蘭丁出生於英格蘭的謝菲爾德,中學時代就讀於愛德華七世學校;他從劍橋大學克萊爾學院畢業[2]。在1960年到1964年間,他成為了克里斯托弗·斯特雷奇的助手,當時斯特雷奇在倫敦擔任一名獨立計算機顧問。他的大部分成果均發表於這期間以及後來在美國麻省理工學院參與UNIVAC工作的短暫時間。之後他在倫敦瑪麗王后大學找到了一份教職工作。70年代到80年代,他的主要精力投入了倫敦瑪麗王后大學計算機科學部的創設、課程設置和教學[3]。在他退休之後,他獲得了倫敦瑪麗王后大學的理論計算學榮譽教授稱號。2012年,倫敦瑪麗王后大學的計算機科學大樓以他的名字命名。
2001年,在倫敦科學博物館的一個關於程序語言形式語義學的會議上,他回顧了他的學術生涯;他的計算機科學研究肇始於20世紀50年代,極大地受到了當時約翰·麥卡錫的LISP語言的影響,而他自己使用得最多的編程語言則是Fortran。[4]
60年代,蘭丁在ALGOL程序語言的標準化制定中起到了推動作用[5][6];圖靈獎獲得者托尼·霍爾稱他是幾個教會他ALGOL 60語言的人之一[7]。
1964年,蘭丁提出了閉包的概念。這一概念後來被Scheme語言實現,並逐漸成為了函數式編程中的重要概念。蘭丁設計了SECD抽象機,這是第一個被確切定義的抽象過程虛擬機。
1966年,他在SECD抽象機的基礎上設計了ISWIM程序語言,定義了他所謂的越位規則,並第一次提出了程序語言語法糖的概念。越位語法規則使用空格縮進來控制名稱聲明的作用域,這後來在Miranda、Haskell、Python和F#等語言中得到了運用。
蘭丁最重要的論文是1966年發表的《The next 700 programming languages》,它對後來程序語言研究有影響深遠[8]。之所以選擇「700」這個數字,據說是因為蘭丁在《ACM期刊》上讀到一篇文章說世界上已經存在過700種程序語言[9]。
個人生活與政治傾向
編輯蘭丁是一名公開的雙性戀[2]、同性戀權益活動家,在20世紀70年代早期參與過同志解放陣線的活動。他曾一度因參加反核遊行而被逮捕。[10]他還是一名自行車友。
部分學術著作
編輯- 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.
- ^ 2.0 2.1 2.2 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
- ^ 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.