fbpx
维基百科

NPL (编程语言)

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

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

特征

Rod Burstall在关于结构归纳法的一篇重要的早期论文中[4],向ISWIM扩展了仍用词语来定义的代数类型定义,和用来分析数据结构的case表达式。John Darlington的NPL,将case表达式替代为在代数类型包括自然数上的多等式函数定义,例如:

fib (0) <= 1 fib (1) <= 1 fib (n+2) <= fib (n+1) + fib (n) 

John Darlington的想法来自Kleene递归方程

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

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

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

引用

  1. ^ David Turner英语David Turner (computer scientist). Some History of Functional Programming Languages (PDF). [2020-04-25]. (原始内容 (PDF)于2020-04-15). 
  2. ^ R.M. Burstall, J. Darlington. . Journal of the Association for Computing Machinery: 24(1):44–67. 1977 [2021-09-06]. (原始内容存档于2020-01-28). 
  3. ^ John Darlington. Program Transformation and Synthesis: Present Capabilities. Research Report No. 77/43 (Report). Dept. of Computing and Control, Imperial College of Science and Technology, London. 1977. 
  4. ^ R.M. Burstall. (PDF). 1968 [2021-09-07]. (原始内容 (PDF)存档于2022-01-28). 

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

编程语言, programming, language, 新编程语言, 是具有模式匹配和集合推导式的简单的纯函数式编程语言, 在1973年至1975年, 由爱丁堡大学的rod, burstall, 英语, burstall, 和john, darlington, 英语, john, darlington, 在关于程序变换, 英语, program, transformation, 的工作中设计, 并于1977年用pop, 2实现, npl编程范型纯函数式設計者rod, burstall, 英语, burstall,. NPL New Programming Language 新编程语言 是具有模式匹配和集合推导式的简单的纯函数式编程语言 1 在1973年至1975年 由爱丁堡大学的Rod Burstall 英语 Rod Burstall 和John Darlington 英语 John Darlington 在关于程序变换 英语 Program transformation 的工作中设计 2 并于1977年用POP 2实现 3 NPL编程范型纯函数式設計者Rod Burstall 英语 Rod Burstall John Darlington 英语 John Darlington 发行时间1977年 46年前 1977 啟發語言ISWIM Lisp 1 5影響語言Hope特征 编辑Rod Burstall在关于结构归纳法的一篇重要的早期论文中 4 向ISWIM扩展了仍用词语来定义的代数类型定义 和用来分析数据结构的case表达式 John Darlington的NPL 将case表达式替代为在代数类型包括自然数上的多等式函数定义 例如 fib 0 lt 1 fib 1 lt 1 fib n 2 lt fib n 1 fib n John Darlington的想法来自Kleene的递归方程 NPL语言允许特定集合和逻辑构造符出现在定义的右手侧 比如 setofeven X lt lt x x in X amp even x gt NPL解释器从左至右对这个列表生成器进行求值 所以条件可以提及任何出现在其左侧的约束 bound 变量 这叫做集合推导式 NPL最终演化为Hope但丢弃了集合推导式 它以列表推导式的形式重现出来在后来的函数式编程语言中 引用 编辑 David Turner 英语 David Turner computer scientist Some History of Functional Programming Languages PDF 2020 04 25 原始内容存档 PDF 于2020 04 15 R M Burstall J Darlington A transformation system for developing recursive programs Journal of the Association for Computing Machinery 24 1 44 67 1977 2021 09 06 原始内容存档于2020 01 28 John Darlington Program Transformation and Synthesis Present Capabilities Research Report No 77 43 Report Dept of Computing and Control Imperial College of Science and Technology London 1977 R M Burstall Proving properties of programs by structural induction PDF 1968 2021 09 07 原始内容 PDF 存档于2022 01 28 本條目部分或全部内容出自以GFDL授權發佈的 自由線上電腦詞典 FOLDOC 取自 https zh wikipedia org w index php title NPL 编程语言 amp oldid 71653738, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。