跳转到内容

NPL语言:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
top
无编辑摘要
第22行: 第22行:
| website =
| website =
}}
}}
'''NPL'''('''N'''ew '''P'''rogramming '''L'''anguage:新编程语言),是由[[爱丁堡大学]]的{{en-link|Rod Burstall}}和{{en-link|John Darlington}},在1973年至1975年于他们关于程序变换著作中设计的<ref>R.M. Burstall and J. Darlington. A transformation system for developing recursive programs. Journal of the Association for Computing Machinery, 24(1):44–67 (1977)</ref>,具有{{en-link|模式匹配|pattern matching}}的简单的[[函数式编程语言]],并于1977年用[[POP-2]]实现<ref>{{cite web|last1=Turner|first1=D. A.|title=Some History of Functional Programming Languages|url=https://www.cs.kent.ac.uk/people/staff/dat/tfp12/tfp12.pdf|accessdate=2020-04-25|archive-date=2020-04-15|archive-url=https://web.archive.org/web/20200415053847/https://www.cs.kent.ac.uk/people/staff/dat/tfp12/tfp12.pdf|dead-url=no}}</ref>。
'''NPL'''('''N'''ew '''P'''rogramming '''L'''anguage:新编程语言),是由[[爱丁堡大学]]的{{en-link|Rod Burstall}}和{{en-link|John Darlington}},在1973年至1975年于他们关于程序变换著作中设计的<ref>{{cite web|author=R.M. Burstall, J. Darlington|title=A transformation system for developing recursive programs|url=https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.85.645&rep=rep1&type=pdf|publisher=Journal of the Association for Computing Machinery|page= 24(1):44–67|year=1977}}</ref>,具有{{en-link|模式匹配|pattern matching}}的简单的[[函数式编程语言]],并于1977年用[[POP-2]]实现<ref>{{cite web|last1=Turner|first1=D. A.|title=Some History of Functional Programming Languages|url=https://www.cs.kent.ac.uk/people/staff/dat/tfp12/tfp12.pdf|accessdate=2020-04-25|archive-date=2020-04-15|archive-url=https://web.archive.org/web/20200415053847/https://www.cs.kent.ac.uk/people/staff/dat/tfp12/tfp12.pdf|dead-url=no}}</ref>。


==特征==
==特征==

2021年9月6日 (一) 11:13的版本

NPL
编程范型函数式
設計者Rod Burstall英语Rod Burstall, John Darlington
发行时间1977年,​48年前​(1977
啟發語言
ISWIM, Lisp 1.5
影響語言
Hope

NPLNew Programming Language:新编程语言),是由爱丁堡大学Rod Burstall英语Rod BurstallJohn Darlington英语John Darlington,在1973年至1975年于他们关于程序变换著作中设计的[1],具有模式匹配的简单的函数式编程语言,并于1977年用POP-2实现[2]

特征

这个语言允许特定集合和逻辑构造符出现在定义的右手侧,比如:

 setofeven(X) <= <:x: x in X & even(x) :>

NPL解释器从左至右对这个列表生成器进行求值,所以条件可以提及任何出现在其左侧的约束(bound)变量。这叫做集合推导式。NPL最终演化为Hope但丢弃了集合推导式,它以列表推导式的形式重现出来在后来的函数式编程语言中。

引用

  1. ^ R.M. Burstall, J. Darlington. A transformation system for developing recursive programs. Journal of the Association for Computing Machinery: 24(1):44–67. 1977. 
  2. ^ Turner, D. A. Some History of Functional Programming Languages (PDF). [2020-04-25]. (原始内容存档 (PDF)于2020-04-15). 
  • John Darlington (1977). "Program Transformation and Synthesis: Present Capabilities". Research Report No. 77/43, Dept. of Computing and Control, Imperial College of Science and Technology, London.

本條目部分或全部内容出自以GFDL授權發佈的《自由線上電腦詞典》(FOLDOC)。