Haskell简介_Haskell个人资料_Haskell微博_百科网
A-A+

Haskell简介_Haskell个人资料_Haskell微博

2016-11-28 10:41:33 科学百科 阅读 2 次

发展/Haskell 编辑

1985年,Miranda发行后,惰性函数式语言的关注度增长。到1987年前,出现了十多种非限定性、纯函数式语言。其中,Miranda使用的最为广泛,但还没有出现在公共领域。在美国波特兰州俄勒冈的函数式编程语言与计算机结构大会(FPCA '87)上,与会者一致同意组成一个委员会,为这样的语言定义一种开放性标准。该委员会旨在整合已有的函数式语言,作为将来的函数式语言设计研究工作奠定基础。

Haskell1.0到1.4

1990年定义了Haskell的第一个版本(“Haskell 1.0”)。

委员会形成了一系列的语言定义(1.0,1.1,1.2,1.3,1.4)。

Haskell98

1997年底,该系列形成了Haskell 98,旨在定义一个稳定、最小化、可移植的语言版本以及相应的标准库,以用于教学和作为将来扩展的基础。委员会明确欢迎创建各种增加或集成实验性特性的Haskell 98的扩展和变种。

1999年2月,Haskell 98语言标准公布,名为《The Haskell 98 Report》。

2003年1月,《Haskell 98 Language and Libraries: The Revised Report》公布。

接着,Glasgow Haskell Compiler(GHC)实现了当时的de facto标准,Haskell快速发展。

HaskellPrime

2006年早期,开始了定义Haskell 98标准后续的进程,非正式命名为Haskell Prime。

这是个修订语言定义的不断增补的过程,每年产生一个新的修订版。第一个修订版于2009年11月完成、2010年7月发布,称作Haskell 2010。

Haskell 2010

Haskell 2010加入了外部函数接口(Foreign Function Interface,FFI),允许绑定到其它编程语言,修正了一些语法问题(在正式语法中的改动)并废除了称为“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。