Haskell

Haskell
Haskell的徽标
编程范型纯函数式
設計者Lennart Augustsson英语Lennart Augustsson, Dave Barton, Brian Boutel, Warren Burton, Joseph Fasel, Kevin Hammond, Ralf Hinze, 保罗·胡达客, John Hughes英语John Hughes (computer scientist), Thomas Johnsson, Mark Jones, 西蒙·佩頓·瓊斯, John Launchbury英语John Launchbury, Erik Meijer英语Erik Meijer (computer scientist), John Peterson, Alastair Reid, Colin Runciman, 菲利普·瓦德勒
发行时间1990年​(1990[1]
当前版本
  • Haskell 2010 (2010年7月)[2]
編輯維基數據鏈接
型態系統推论, 静态, 强类型
操作系统跨平臺
文件扩展名.hs, .lhs
網站www.haskell.org
主要實作產品
GHC, Hugs英语Hugs, NHC, JHC, Yhc
啟發語言
Clean,[3] FP,[3] Gofer英语Gofer (programming language),[3] Hope和Hope+,[3] Id英语Id (programming language),[3] ISWIM,[3] KRC,[3] Lisp,[3] Miranda,[3] MLStandard ML,[3] Orwell英语Orwell (programming language), SASL,[3] Scheme,[3] SISAL[3]
影響語言
Agda,[4] Bluespec英语Bluespec,[5] C++11/Concepts,[6] C#/LINQ,[7][8][9][10] Cayenne,[7] Clean,[7] Clojure,[11] CoffeeScript,[12] Curry,[7] Elm, Escher英语Escher (programming language),[13] F#,[14] Frege,[15] Hack,[16] Idris,[17] Isabelle,[7] Java/Generics,[7] LiveScript英语LiveScript,[18] Mercury,[7] PureScript,[19] Python,[7][20] Raku,[21] Rust,[22] Scala,[7][23] Swift,[24] Timber,[25] Visual Basic 9.0[7][8]

Haskell(发音为/ˈhæskəl/[26]是一种标准化的,通用的纯函數式編程語言,有惰性求值静态类型[27]。它的命名源自美国逻辑学家哈斯凱爾·加里,他在数理逻辑方面上的工作使得函数式编程语言有了广泛的基础。在Haskell中,“函数是頭等物件[28]。作为一门函數程式語言,主要控制结构是函数。Haskell语言是1990年在编程语言Miranda的基础上标准化的,并且以λ演算为基础发展而来。这也是为什么Haskell语言以希腊字母λ」(Lambda)作为自己的标志。Haskell具有“证明即程序、命题为类型”的特征[29][30][31][32]

  1. ^ Hudak et al. 2007.
  2. ^ [Haskell] Announcing Haskell 2010. 2009年11月24日 [2023年1月11日]. 
  3. ^ 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 3.12 Peyton Jones 2003,第xi頁
  4. ^ Norell, Ulf. Dependently Typed Programming in Agda (PDF). Gothenburg: Chalmers University. 2008 [9 February 2012]. (原始内容 (PDF)存档于2014-04-01). 
  5. ^ Hudak et al. 2007,第12–38, 43頁.
  6. ^ Stroustrup, Bjarne; Sutton, Andrew. Design of Concept Libraries for C++ (PDF). 2011. (原始内容 (PDF)存档于10 February 2012). 
  7. ^ 7.00 7.01 7.02 7.03 7.04 7.05 7.06 7.07 7.08 7.09 Hudak et al. 2007,第12-45–46頁.
  8. ^ 8.0 8.1 Meijer, Erik. Confessions of a Used Programming Language Salesman: Getting the Masses Hooked on Haskell. Oopsla 2007. 2006. 
  9. ^ Meijer, Erik. C9 Lectures: Dr. Erik Meijer – Functional Programming Fundamentals, Chapter 1 of 13. Channel 9. Microsoft. 1 October 2009 [9 February 2012]. (原始内容存档于2012-06-16). 
  10. ^ Drobi, Sadek. Erik Meijer on LINQ. InfoQ (QCon SF 2008: C4Media Inc.). 4 March 2009 [9 February 2012]. (原始内容存档于2021-01-26). 
  11. ^ Hickey, Rich. Clojure Bookshelf. Listmania!. [3 October 2017]. (原始内容存档于3 October 2017). 
  12. ^ Heller, Martin. Turn up your nose at Dart and smell the CoffeeScript. InfoWorld. 2011-10-18 [2020-07-15]. (原始内容存档于2021-01-25). 
  13. ^ Declarative programming in Escher (PDF). [7 October 2015]. (原始内容 (PDF)存档于2016-03-03). 
  14. ^ Syme, Don; Granicz, Adam; Cisternino, Antonio. Expert F#. Apress. 2007: 2. F# also draws from Haskell particularly with regard to two advanced language features called sequence expressions and workflows. 
  15. ^ Wechsung, Ingo. The Frege Programming Language (PDF). [26 February 2014]. (原始内容 (PDF)存档于2021-02-13). 
  16. ^ Facebook Introduces 'Hack,' the Programming Language of the Future. WIRED. 20 March 2014 [2021-02-28]. (原始内容存档于2014-03-28). 
  17. ^ Idris, a dependently typed language. [26 October 2014]. (原始内容存档于2021-05-11). 
  18. ^ LiveScript Inspiration. [4 February 2014]. (原始内容存档于2021-05-21). 
  19. ^ Freeman, Phil. PureScript by Example. Leanpub. 2016 [23 April 2017]. (原始内容存档于2020-11-29). 
  20. ^ Kuchling, A. M. Functional Programming HOWTO. Python v2.7.2 documentation. Python Software Foundation. [9 February 2012]. (原始内容存档于2012-10-24). 
  21. ^ Glossary of Terms and Jargon. Perl Foundation Perl 6 Wiki. The Perl Foundation. [9 February 2012]. (原始内容存档于21 January 2012). 
  22. ^ The Rust Reference: Appendix: Influences. [3 February 2016]. (原始内容存档于2019-01-26). 
  23. ^ Fogus, Michael. MartinOdersky take(5) toList. Send More Paramedics. 6 August 2010 [9 February 2012]. (原始内容存档于2012-02-14). 
  24. ^ Lattner, Chris. Chris Lattner's Homepage. Chris Lattner. 3 June 2014 [3 June 2014]. (原始内容存档于2018-12-25). The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list. 
  25. ^ Timber/History. [7 October 2015]. (原始内容存档于2020-10-31). 
  26. ^ Chevalier, Tim. anybody can tell me the pronuncation of "haskell"?. Haskell-cafe (邮件列表). 28 January 2008 [12 March 2011]. (原始内容存档于2012-03-06). 
  27. ^ Haskell Report
  28. ^ Burstall, Rod. Christopher Strachey—Understanding Programming Languages. Higher-Order and Symbolic Computation. 2000, 13 (52). 
  29. ^ Curry, Haskell. Functionality in Combinatory Logic. Proceedings of the National Academy of Sciences 20. 1934: 584–590. 
  30. ^ Curry, Haskell B.; Feys, Robert. Craig, William , 编. Combinatory Logic Vol. I. Amsterdam: North-Holland. 1958. , with 2 sections by William Craig, see paragraph 9E
  31. ^ De Bruijn, Nicolaas. Automath, a language for mathematics. TH-report 68-WSK-05 (Department of Mathematics, Eindhoven University of Technology). 1968.  Reprinted in revised form, with two pages commentary, in: Classical papers on computational logic 1967-1970. Automation and Reasoning 2. Springer Verlag. 1983: 159–200. 
  32. ^ Howard, William A. The formulae-as-types notion of construction. Seldin, Jonathan P.; Hindley, J. Roger (编). To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism. Boston, MA: Academic Press英语Academic Press. 1980年9月: 479–490 [original paper manuscript from 1969]. ISBN 978-0-12-349050-6. .

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy