POP-2

POP-2（也称为POP2，Package for Online Programming：在线编程包），是和在大约1970年于爱丁堡大学开发的编程语言，起源于更早的语言POP-1（Robin Popplestone在1968年开发，最初叫做）。它根源于很多来源：LISP和ALGOL 60语言，和来自Peter J. Landin的理论上的想法。它使用增量编译器，这给与它某些解释型语言的灵活性，包括允许在运行时间定义新函数，和在程序运行时修改函数定义（二者都是动态编译的特征），而没有解释型语言的开销。

影响
POP-2是具有动态绑定和动态（运行时间）确定类型的函数式语言，它的语法是ALGOL风格的，而它的特征受到了Strachey和Landin工作的重大影响。它有一些显著特征，比如在部份应用中具有的一种形式的函数闭包，和受到Landin的J算子启发的一种逃脱机制（jumpout函数），它扮演了与Lisp中的catch/throw类似的角色。

POP-2对ML的设计有着重要的影响，这来自它的记录结构，这里定义了数据构造子和并以字段名字作为选择子，和它的section ... endsection指令，这是提供了初步模块性支持的一种简单名字空间管理机制，ML后来把它替代为local ... in ... end。

参见
 编程语言
 编程环境

引用

参考书目



外部链接
 The Early Development of POP

Category:函数式编程语言
Category:面向堆栈编程语言
Category:1970年建立的程式語言