Hope語言
外觀
編程範型 | 純函數式 |
---|---|
設計者 | Rod Burstall, David MacQueen, Don Sannella |
釋出時間 | 1980年 |
啟發語言 | |
NPL | |
影響語言 | |
Standard ML,Miranda |
Hope是一種小型純函數式程式語言[1],由Rod Burstall、David MacQueen和Don Sannella,在1970年代於愛丁堡大學於開發[2]。Hope衍生自NPL語言[3],是Miranda和Haskell的先驅,並與在同一所大學開發的ML同時代。NPL和Hope著稱於,是具有傳模式呼叫的求值和代數資料類型的最初的語言[4]。
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).