本教程主要是面向已經(jīng)有命令式編程經(jīng)驗(C, C++, Java, Python …) 、卻未曾接觸過函數(shù)式編程 (Haskell, ML, OCaml …)的讀者。還沒有編程基礎?沒關系,像你這樣的聰明小伙一定能夠學會haskell!
Haskell是一種標準化的、通用純函數(shù)式編程語言,有非限定性語義和強靜態(tài)類型。在Haskell中,函數(shù)是一等公民。作為函數(shù)式編程語言,主要控制結構是函數(shù)。Haskell語言是1990年在編程語言Miranda的基礎上標準化的,并且以λ演算(Lambda-Calculus)為基礎發(fā)展而來。具有“證明即程序、結論公式即程序類型”的特征。這也是Haskell語言以希臘字母「λ」(Lambda)作為自己標志的原因。Haskell語言的最主要的執(zhí)行環(huán)境是GHC。
1990年定義了Haskell的第一個版本(“Haskell 1.0”)。委員會形成了一系列的語言定義(1.0,1.1,1.2,1.3,1.4)。
1997年底,該系列形成了Haskell 98,旨在定義一個穩(wěn)定、最小化、可移植的語言版本以及相應的標準庫,以用于教學和作為將來擴展的基礎。委員會明確歡迎創(chuàng)建各種增加或集成實驗性特性的Haskell 98的擴展和變種。
1999年2月,Haskell 98語言標準公布,名為《The Haskell 98 Report》。
2003年1月,《Haskell 98 Language and Libraries: The Revised Report》公布。[9] 接著,Glasgow Haskell Compiler(GHC)實現(xiàn)了當時的de facto標準,Haskell快速發(fā)展。
2006年早期,開始了定義Haskell 98標準后續(xù)的進程,非正式命名為Haskell Prime。這是個修訂語言定義的不斷增補的過程,每年產(chǎn)生一個新的修訂版。第一個修訂版于2009年11月完成、2010年7月發(fā)布,稱作Haskell 2010。
Haskell 2010加入了外部函數(shù)接口(Foreign Function Interface,F(xiàn)FI),允許綁定到其它編程語言,修正了一些語法問題(在正式語法中的改動)并廢除了稱為“n加k模式”(換言之,不再支持 fact (n+1) = (n+1) * fact n )。引入了語言級編譯選項語法擴展(Language-Pragma-Syntax-Extension),使得在Haskell源代碼中可以明確要求一些擴展功能。Haskell 2010引入的這些擴展的名字是DoAndIfThenElse、HierarchicalModules、EmptyDataDeclarations、FixityResolution、ForeignFunctionInterface、LineCommentSyntax、PatternGuards、RelaxedDependencyAnalysis、LanguagePragma、NoNPlusKPatterns。
《php教程》
《go語言教程》
《C#教程》
《c語言教程》