POP-2(也称为POP2,Package for Online Programming:在线编程包),是Robin Popplestone和Rod Burstall在大约1970年于爱丁堡大学开发的编程语言,起源于更早的语言POP-1(Robin Popplestone在1968年开发,最初叫做COWSEL)[1]。它根源于很多来源: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
。[2]
参见
- POP-11编程语言
- Poplog编程环境
引用
参考书目
外部链接
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.