Hope语言
Hope是一种小型纯函数式编程语言[1],由Rod Burstall、David MacQueen和Don Sannella,在1970年代于爱丁堡大学于开发[2]。Hope派生自NPL语言[3],是Miranda和Haskell的先驱,并与在同一所大学开发的ML同时代。NPL和Hope著称于,是具有传模式调用的求值和代数数据类型的最初的语言[4]。
编程范型 | 纯函数式 |
---|---|
设计者 | Rod Burstall, David MacQueen, Don Sannella |
发行时间 | 1980年 |
启发语言 | |
NPL | |
影响语言 | |
Standard ML,Miranda |
Hope以Sir Thomas Hope(约1681年–1771年)命名。
语言细节
阶乘程序用Hope写为:
dec fact : num -> num; --- fact 0 <= 1; --- fact n <= n*fact(n-1);
改变子句的次序不改变程序的含义,因为Hope的模式匹配,总是偏好更加特殊的模式,胜过不太特殊的模式。在Hope要求显式类型声明;在Hope中没有使用类型推论的选择余地。
Hope提供两种内建数据结构:元组和列表[5]。
引用
- ^ 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).
- ^ 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.
- ^ 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)
- ^ 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.
- ^ Roger Bailey. A Hope Tutorial (PDF). BYTE. Vol. 10 no. 8. August 1985 [1 April 2015]. (原始内容 (PDF)存档于2011-01-12).