Haskell |
编程范型 | 纯函数式 |
---|
設計者 | Lennart Augustsson, Dave Barton, Brian Boutel, Warren Burton, Joseph Fasel, Kevin Hammond, Ralf Hinze, 保罗·胡达客, John Hughes, Thomas Johnsson, Mark Jones, 西蒙·佩頓·瓊斯, John Launchbury, Erik Meijer, John Peterson, Alastair Reid, Colin Runciman, 菲利普·瓦德勒 |
---|
发行时间 | 1990年,35年前(1990) |
---|
当前版本 | |
---|
型態系統 | 推论, 静态, 强类型 |
---|
操作系统 | 跨平臺 |
---|
文件扩展名 | .hs , .lhs |
---|
網站 | www.haskell.org |
---|
|
GHC, Hugs, NHC, JHC, Yhc |
|
Clean,[3] FP,[3] Gofer,[3] Hope和Hope+,[3] Id,[3] ISWIM,[3] KRC,[3] Lisp,[3] Miranda,[3] ML和Standard ML,[3] Orwell, SASL,[3] Scheme,[3] SISAL[3] |
|
Agda,[4] Bluespec, C++11/Concepts,[6] C#/LINQ,[8][9][10] Cayenne, Clean, Clojure,[11] CoffeeScript,[12] Curry, Elm, Escher,[13] F#,[14] Frege,[15] Hack,[16] Idris,[17] Isabelle, Java/Generics, LiveScript,[18] Mercury, PureScript,[19] Python,[20] Raku,[21] Rust,[22] Scala,[23] Swift,[24] Timber,[25] Visual Basic 9.0[8] |
Haskell(发音为/ˈhæskəl/)[26]是一种标准化的,通用的纯函數式編程語言,有惰性求值和强静态类型[27]。它的命名源自美国逻辑学家哈斯凱爾·加里,他在数理逻辑方面上的工作使得函数式编程语言有了广泛的基础。在Haskell中,“函数是頭等物件”[28]。作为一门函數程式語言,主要控制结构是函数。Haskell语言是1990年在编程语言Miranda语言的基础上标准化的,并且以λ演算为基础发展而来。这也是为什么Haskell语言以希腊字母「λ」(Lambda)作为自己的标志。Haskell具有“证明即程序、命题为类型”的特征[29][30][31][32]。
- ^ [Haskell] Announcing Haskell 2010. 2009年11月24日 [2023年1月11日].
- ^ 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頁 harvnb模板錯誤: 無指向目標: CITEREFPeyton_Jones2003 (幫助)
- ^ Norell, Ulf. Dependently Typed Programming in Agda (PDF). Gothenburg: Chalmers University. 2008 [9 February 2012]. (原始内容 (PDF)存档于2014-04-01).
- ^ Stroustrup, Bjarne; Sutton, Andrew. Design of Concept Libraries for C++ (PDF). 2011. (原始内容 (PDF)存档于10 February 2012).
- ^ 8.0 8.1 Meijer, Erik. Confessions of a Used Programming Language Salesman: Getting the Masses Hooked on Haskell. Oopsla 2007. 2006.
- ^ 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).
- ^ Drobi, Sadek. Erik Meijer on LINQ. InfoQ (QCon SF 2008: C4Media Inc.). 4 March 2009 [9 February 2012]. (原始内容存档于2021-01-26).
- ^ Hickey, Rich. Clojure Bookshelf. Listmania!. [3 October 2017]. (原始内容存档于3 October 2017).
- ^ Heller, Martin. Turn up your nose at Dart and smell the CoffeeScript. InfoWorld. 2011-10-18 [2020-07-15]. (原始内容存档于2021-01-25).
- ^ Declarative programming in Escher (PDF). [7 October 2015]. (原始内容 (PDF)存档于2016-03-03).
- ^ 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.
- ^ Wechsung, Ingo. The Frege Programming Language (PDF). [26 February 2014]. (原始内容 (PDF)存档于2021-02-13).
- ^ Facebook Introduces 'Hack,' the Programming Language of the Future. WIRED. 20 March 2014 [2021-02-28]. (原始内容存档于2014-03-28).
- ^ Idris, a dependently typed language. [26 October 2014]. (原始内容存档于2021-05-11).
- ^ LiveScript Inspiration. [4 February 2014]. (原始内容存档于2021-05-21).
- ^ Freeman, Phil. PureScript by Example. Leanpub. 2016 [23 April 2017]. (原始内容存档于2020-11-29).
- ^ Kuchling, A. M. Functional Programming HOWTO. Python v2.7.2 documentation. Python Software Foundation. [9 February 2012]. (原始内容存档于2012-10-24).
- ^ Glossary of Terms and Jargon. Perl Foundation Perl 6 Wiki. The Perl Foundation. [9 February 2012]. (原始内容存档于21 January 2012).
- ^ The Rust Reference: Appendix: Influences. [3 February 2016]. (原始内容存档于2019-01-26).
- ^ Fogus, Michael. MartinOdersky take(5) toList. Send More Paramedics. 6 August 2010 [9 February 2012]. (原始内容存档于2012-02-14).
- ^ 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.
- ^ Timber/History. [7 October 2015]. (原始内容存档于2020-10-31).
- ^ Chevalier, Tim. anybody can tell me the pronuncation of "haskell"?. Haskell-cafe (邮件列表). 28 January 2008 [12 March 2011]. (原始内容存档于2012-03-06).
- ^ Haskell Report
- ^ Burstall, Rod. Christopher Strachey—Understanding Programming Languages. Higher-Order and Symbolic Computation. 2000, 13 (52).
- ^ Curry, Haskell. Functionality in Combinatory Logic. Proceedings of the National Academy of Sciences 20. 1934: 584–590.
- ^ Curry, Haskell B.; Feys, Robert. Craig, William , 编. Combinatory Logic Vol. I. Amsterdam: North-Holland. 1958. , with 2 sections by William Craig, see paragraph 9E
- ^ 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.
- ^ 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. 1980年9月: 479–490 [original paper manuscript from 1969]. ISBN 978-0-12-349050-6. .