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). 

外部連結

編輯