<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=POP-2</id>
	<title>POP-2 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=POP-2"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=POP-2&amp;action=history"/>
	<updated>2026-07-13T23:03:23Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=POP-2&amp;diff=3422470&amp;oldid=prev</id>
		<title>imported&gt;Cewbot：​清理跨語言連結COWSEL成為內部連結:編輯摘要的紅色連結經繁簡轉換後存在，非bot錯誤編輯 (本次機械人作業已完成35.9%)</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=POP-2&amp;diff=3422470&amp;oldid=prev"/>
		<updated>2026-05-31T14:35:16Z</updated>

		<summary type="html">&lt;p&gt;清理跨語言連結&lt;a href=&quot;/wiki/COWSEL&quot; title=&quot;COWSEL&quot;&gt;COWSEL&lt;/a&gt;成為內部連結:編輯摘要的紅色連結經繁簡轉換後存在，非bot錯誤編輯 (本次機械人作業已完成35.9%)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NoteTA&lt;br /&gt;
|G1 = IT&lt;br /&gt;
}}&lt;br /&gt;
{{Infobox programming language&lt;br /&gt;
| name                   = POP-2&lt;br /&gt;
| paradigm               = [[函数式编程|函数式]]，[[面向堆栈编程|面向堆栈]]&lt;br /&gt;
| year                   = {{start date and age|1970}}&lt;br /&gt;
| designer               = {{le|Robin Popplestone}}，{{le|Rod Burstall}}&lt;br /&gt;
| influenced_by          = [[COWSEL]]，[[ALGOL 60]]，[[ISWIM]]&lt;br /&gt;
| influenced             = {{le|POP-11}}，[[ML语言|ML]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;POP-2&amp;#039;&amp;#039;&amp;#039;（也称为&amp;#039;&amp;#039;&amp;#039;POP2&amp;#039;&amp;#039;&amp;#039;，&amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039;ackage for &amp;#039;&amp;#039;&amp;#039;O&amp;#039;&amp;#039;&amp;#039;nline &amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039;rogramming：在线编程包），是{{le|Robin Popplestone}}和{{le|Rod Burstall}}在大约1970年于[[爱丁堡大学]]开发的[[编程语言]]，起源于更早的语言POP-1（Robin Popplestone在1968年开发，最初叫做[[COWSEL]]）&amp;lt;ref&amp;gt;{{Cite web |url=http://bitsavers.informatik.uni-stuttgart.de/pdf/univOfEdinburgh/POP-2_Papers_1968.pdf |title=存档副本 |accessdate=2020-05-02 |archive-date=2012-10-03 |archive-url=https://web.archive.org/web/20121003112028/http://bitsavers.informatik.uni-stuttgart.de/pdf/univOfEdinburgh/POP-2_Papers_1968.pdf |dead-url=no }}&amp;lt;/ref&amp;gt;。它根源于很多来源：[[LISP]]和[[ALGOL 60]]语言，和来自[[Peter J. Landin]]的理论上的想法。它使用[[增量编译器]]，这给与它某些[[解释型语言]]的灵活性，包括允许在运行时间定义新函数，和在程序运行时修改函数定义（二者都是[[动态编译]]的特征），而没有解释型语言的开销。&lt;br /&gt;
&lt;br /&gt;
==影响==&lt;br /&gt;
POP-2是具有动态绑定和动态（运行时间）确定类型的函数式语言，它的语法是[[ALGOL]]风格的，而它的特征受到了[[Christopher Strachey|Strachey]]和[[Peter Landin|Landin]]工作的重大影响。它有一些显著特征，比如在部份应用中具有的一种形式的函数闭包，和受到Landin的J算子启发的一种逃脱机制（&amp;lt;code&amp;gt;jumpout&amp;lt;/code&amp;gt;函数），它扮演了与Lisp中的&amp;lt;code&amp;gt;catch&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;throw&amp;lt;/code&amp;gt;类似的角色。&lt;br /&gt;
&lt;br /&gt;
POP-2对[[ML语言|ML]]的设计有着重要的影响，这来自它的记录结构，这里定义了数据构造子和并以字段名字作为选择子，和它的&amp;lt;code&amp;gt;section …… endsection&amp;lt;/code&amp;gt;指令，这是提供了初步模块性支持的一种简单名字空间管理机制，ML后来把它替代为&amp;lt;code&amp;gt;local …… in …… end&amp;lt;/code&amp;gt;。&amp;lt;ref&amp;gt;{{cite web|author=David MacQueen, Robert Harper, John Reppy|title=The History of Standard ML|url=https://smlfamily.github.io/history/SML-history.pdf|year=2020|quote=POP-2 was designed by Robin Popplestone and Burstall in the late 1960s [1977; 1968; 1968a], following on Popplestone’s earlier POP-1 language [1968b]. Like Lisp, POP-2 was a functional language with dynamic binding and dynamic (i.e., runtime) typing, but its syntax was in the ALGOL-style, and its features were heavily influenced by the work of Strachey and Landin. It had a number of notable features such as a form of function closure via partial application and an escape mechanism (the jumpout function) inspired by Landin’s J operator that plays a rôle similar to catch/throw in Lisp. The design of ML was also influenced by POP-2’s record structures and by its sections, a simple mechanism for name-space management that provided rudimentary support for modularity.|access-date=2021-09-11|archive-date=2022-02-13|archive-url=https://web.archive.org/web/20220213191353/https://smlfamily.github.io/history/SML-history.pdf}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==参见==&lt;br /&gt;
* {{le|POP-11}}编程语言&lt;br /&gt;
* {{le|Poplog}}编程环境&lt;br /&gt;
&lt;br /&gt;
==引用==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
==参考书目==&lt;br /&gt;
* {{cite book|url=http://bitsavers.informatik.uni-stuttgart.de/pdf/univOfEdinburgh/POP-2_Papers_1968.pdf|title=An Introduction to the POP-2 Programming Language|author=P. M. Burstall, J. S. Collins|year=1968|access-date=2020-05-02|archive-date=2012-10-03|archive-url=https://web.archive.org/web/20121003112028/http://bitsavers.informatik.uni-stuttgart.de/pdf/univOfEdinburgh/POP-2_Papers_1968.pdf}}&lt;br /&gt;
* {{cite book|author=R. Burstall, J. Collins, R. Popplestone|title=Programming in Pop-2|year=1968|publisher=Edinburgh University Press|location=Edinburgh|url=http://www.chilton-computing.org.uk/acd/pdfs/pop_primer.pdf|access-date=2021-09-11|archive-date=2021-09-11|archive-url=https://web.archive.org/web/20210911083806/http://www.chilton-computing.org.uk/acd/pdfs/pop_primer.pdf}}&lt;br /&gt;
*{{cite book|title=POP-2 Reference Manual|author=R.M. Burstall, R.J. Popplestone|publisher=Department of Machine Intelligence and Perception, University of Edinburgh|year=1968|url=https://www.cs.utexas.edu/~moore/best-ideas/pltp/POP-2-Reference-Manual.pdf|access-date=2021-09-11|archive-date=2022-01-02|archive-url=https://web.archive.org/web/20220102235105/https://www.cs.utexas.edu/~moore/best-ideas/pltp/POP-2-Reference-Manual.pdf}}&lt;br /&gt;
&lt;br /&gt;
==外部链接==&lt;br /&gt;
* [http://www-robotics.cs.umass.edu/Popplestone/pop_development.html The Early Development of POP]{{Wayback|url=http://www-robotics.cs.umass.edu/Popplestone/pop_development.html |date=20160529203404 }}&lt;br /&gt;
&lt;br /&gt;
[[Category:函数式编程语言]]&lt;br /&gt;
[[Category:面向堆栈编程语言]]&lt;br /&gt;
[[Category:1970年建立的程式語言]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Cewbot</name></author>
	</entry>
</feed>