Hope是一种小型纯函数式编程语言[1],由Rod Burstall英语Rod Burstall、David MacQueen和Don Sannella英语Don Sannella,在1970年代于爱丁堡大学于开发[2]。Hope派生自NPL语言[3],是MirandaHaskell的先驱,并与在同一所大学开发的ML同时代。NPL和Hope著称于,是具有传模式调用的求值代数数据类型的最初的语言[4]

Hope
编程范型纯函数式
设计者Rod Burstall英语Rod Burstall, David MacQueen, Don Sannella英语Don Sannella
发行时间1980年,​44年前​(1980
启发语言
NPL
影响语言
Standard MLMiranda

Hope以Sir Thomas Hope英语Sir Thomas Hope, 8th Baronet(约1681年–1771年)命名。

语言细节

编辑

阶乘程序用Hope写为:

dec fact : num -> num;
--- fact 0 <= 1;
--- fact n <= n*fact(n-1);

改变子句的次序不改变程序的含义,因为Hope的模式匹配,总是偏好更加特殊的模式,胜过不太特殊的模式。在Hope要求显式类型声明;在Hope中没有使用类型推论的选择余地。

Hope提供两种内置数据结构:元组和列表[5]

引用

编辑
  1. ^ Roger Bailey. Functional Programming with Hope. Ellis Horwood Series in Computers and Their Applications. Ellis Horwood Ltd. 1 April 1990 [2021-09-03]. (原始内容存档于2021-09-03). 
  2. ^ Rod Burstall英语Rod Burstall, D.B. MacQueen, D.T. Sannella. Hope: An Experimental Applicative Language (PDF). 1980 [2021-09-01]. (原始内容 (PDF)存档于2022-01-28).  Conference Record of the 1980 LISP Conference, Stanford University, pp. 136-143.
  3. ^ R.M. Burstall. Design considerations for a functional programming language. Invited paper, Proc. Infotech State of the Art Conf. “The Software Revolution”, Copenhagen, 45–57 (1977)
  4. ^ Hudak, Paul; Hughes, John; Peyton Jones, Simon; Wadler, Philip. A history of Haskell: being lazy with class. ACM. 2007-06-09: 12–1. ISBN 9781595937667. doi:10.1145/1238844.1238856. 
  5. ^ Roger Bailey. A Hope Tutorial (PDF). BYTE. Vol. 10 no. 8. August 1985 [1 April 2015]. (原始内容 (PDF)存档于2011-01-12). 

外部链接

编辑