Lisp家族迎来新成员,函数式语言Lux是什么?
Posted LUPA开源社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lisp家族迎来新成员,函数式语言Lux是什么?相关的知识,希望对你有一定的参考价值。
代码世界即将加入一门新成员:Lux。你没看错,它不是洗发水,而是古老的Lisp家族中新诞生的函数式语言。
目前Lux还在研发之中,最新版本是0.5.0。它可被用来编写一系列在JVM(Java虚拟机)上运行的程序。但它的语义并不是与JVM绑定的,因此,Lux应该被理解为是一门通用语言,被设计用来尽可能多平台地进行程序表示。但同时,它要能够深入每一个特定平台,实现后者的丰富功能。
作为新语言,它有何特别之处?
Lux是纯粹的函数式编程语言,它采用了严格计算(eager-evaluation)而非惰性计算,来提高逻辑简洁性,而适当牺牲性能和程序行为。这门语言受到Haskell、Clojure和ML的启发。其中,Clojure,这门同样基于Lisp、面向JVM的主流语言,是Lux的首要启发来源。但和Clojure不同的是,Lux采用了静态类型(staticallytyped)以提高性能并减少漏洞。
Lux允许开发者通过编程创造新类型,这会提供动态类型语言(dynamicallytyped)所具有的灵活性。函数式语言Haskell有类型类(typeclasses),而雷锋网获知,Lux的约束性不会这么强——想要绕过任何约束可在语言中原生实现,而不需要黑入类型系统。
Lisp开发于1958年,是最早的用于人工智能的编程语言。现在用的人虽然少了,但多门基于Lisp的变种、或者说子孙语言,仍然占有重要地位。这些基于Lisp的语言,使得开发者进行元编程(metaprogramming)成为了可能——改变语言本身的行为,或者编写能写代码的代码。Lux通过与Lisp类似的宏(macros)来实现这一点,但这同时把Lux的编译器暴露为语言中的一件物体。通过这种方式,Lux可以定制能被用户重写的模型匹配系统(pattern-matchingsystems)。
我们获知,尽管提供了与Java的交互操作,Lux会专注于函数式编程。
Lux的开发者团队表示:
Lux既简洁又复杂。它的设计允许你只用一个小的子集,就能创建出高效的程序。但Lux的目标是为我们提供有一系列强大工具的武器库,来满足开发者在各类项目中的不同需求。
他们还表示,虽然函数式语言是学界人士做研究的最爱,但Lux为软件开发人员的日常工作而设计。
对Lux感兴趣的程序猿们,可通过GitBooks获得它的详细介绍。顺便提醒一下,这有一本书那么厚。
以上是关于Lisp家族迎来新成员,函数式语言Lux是什么?的主要内容,如果未能解决你的问题,请参考以下文章