纯函数语言有哪些

小编 653

纯函数语言有:1.Haskell,标准化的、通用的纯函数式语言;2.Miranda,采用惰性求值的纯粹函数编程语言;3.Concurrent Clean,强静态类型的纯函数式程序设计语言;4.Lazy K,弱类型的纯函数式编程语言。Haskell是现在少数一门使用者比较多的纯函数式编程语言。

1.Haskell

Haskell是一种标准化的、通用的纯函数式语言,有非限定性语义和强静态类型。它的命名源自美国逻辑学家哈斯凯尔加里。在Haskell中,“函数是名列前茅类物件”。作为一门函数式语言,主要控制结构是函数。Haskell语言是1990年在编程语言Miranda的基础上标准化的,并且以λ演算为基础发展而来。这也是为什么Haskell语言以希腊字母“λ”(Lambda)作为自己的标志。Haskell具有“证明即程序、命题为类型”的特征。

2.Miranda

Miranda是一种采用惰性求值的纯粹函数编程语言,由英国学者大卫·特纳(David Turner)所设计。采用来自ML语言与Hope语言的概念,他用此来作为他先前所设计的SASL语言与KRC语言的后继者。稍后发展出的Haskell语言,采用了很多由Miranda所发展出的概念。这个编程语言由英国的研究软件公司(Research Software Ltd.)研发,这间公司拥有这个编程语言的商标权。在1985年首次发表以C语言写成的直译器,能够在类UNIX系统上运作。随后在1987年与1989年发行了更新版。

3.Concurrent Clean

Concurrent Clean简称“Clean”,也属于强静态类型的纯函数式程序设计语言,它和Haskell有很多相似之处。Clean是用C写成的,其程式很容易跨平台,在大部分情况下,要转移到另一个平台只需在那里重新编译一次即可,不用改动源代码。

4.Lazy K

Lazy K与Haskkell、Miranda、Clean不同,它属于弱类型的纯函数式编程语言,其使用者非常少。

延伸阅读

函数式编程语言有哪些优点

名列前茅,代码简洁。函数式编程大量使用函数,减少了代码的重复,因此程序比较短,开发速度较快。

第二,接近自然语言,易于理解。函数式编程的自由度很高,可以写出很接近自然语言的代码。

第三,更方便的代码管理。函数式编程不依赖、也不会改变外界的状态,只要给定输入参数,返回的结果必定相同。因此,每一个函数都可以被看做独立单元,很有利于进行单元测试(unit testing)和除错(debugging),以及模块化组合。

第四,易于”并发编程”。函数式编程不需要考虑”死锁”(deadlock),因为它不修改变量,所以根本不存在”锁”线程的问题。不必担心一个线程的数据,被另一个线程修改,所以可以很放心地把工作分摊到多个线程,部署”并发编程”(concurrency)。

第五,代码热升级。函数式编程没有副作用,只要保证接口不变,内部实现是外部无关的。所以,可以在运行状态下直接升级代码,不需要重启,也不需要停机。

除上述优点外,函数式语言还具有并行、单元测试、没有额外作用、不修改状态、引用透明、代码部署热等特点。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部