内容简介:Lisp 家族迎来新成员,函数式语言 Lux 是什么?
代码世界即将加入一门新成员:Lux。你没看错,它不是洗发水,而是古老的 Lisp 家族中新诞生的函数式语言。
目前 Lux 还在研发之中,最新版本是 0.5.0。它可被用来编写一系列在 JVM (Java 虚拟机)上运行的程序。 但它的语义并不是与 JVM 绑定的,因此,Lux 应该被理解为是一门通用语言 ,被设计用来尽可能多平台地进行程序表示。但同时,它要能够深入每一个特定平台,实现后者的丰富功能。
作为新语言,它有何特别之处?
Lux 是纯粹的函数式编程语 言 ,它采用了严格计算(eager-evaluation)而非惰性计算,来提高逻辑简洁性,而适当牺牲性能和程序行为。这门语言受到 Haskell、Clojure 和 ML 的启发。其中,Clojure,这门同样基于 Lisp、面向 JVM 的主流语言,是 Lux 的首要启发来源。但和 Clojure 不同的是,Lux 采用了静态类型(statically typed)以提高性能并减少漏洞。
Lux 允许开发者通过编程创造新类型,这会提供动态类型语言(dynamically typed )所具有的灵活性。函数式语言 Haskell 有类型类(type classes),而雷锋网 (公众号:雷锋网) 获知, Lux 的约束性不会这么强——想要绕过任何约束可在语言中原生实现,而不需要黑入类型系统。
Lisp 开发于 1958 年,是最早的用于人工智能的编程语言。现在用的人虽然少了,但多门基于 Lisp 的变种、或者说子孙语言,仍然占有重要地位。这些基于 Lisp 的语言,使得开发者进行元编程(metaprogramming)成为了可能——改变语言本身的行为,或者编写能写代码的代码。Lux 通过与 Lisp 类似的宏(macros)来实现这一点,但这同时把 Lux 的编译器暴露为语言中的一件物体。通过这种方式,Lux 可以定制能被用户重写的模型匹配系统( pattern-matching systems )。
雷锋网获知,尽管提供了与 Java 的交互操作,Lux 会专注于函数式编程。
Lux 的开发者团队表示:
Lux 既简洁又复杂。它的设计允许你只用一个小的子集,就能创建出高效的程序。但 Lux 的目标是为我们提供有一系列强大 工具 的武器库,来满足开发者在各类项目中的不同需求。
他们还表示, 虽然函数式语言是学界人士做研究的最爱,但 Lux 为软件开发人员的日常工作而设计 。
对 Lux 感兴趣的程序猿们,可通过 GitBooks 获得它的详细介绍。顺便提醒一下,这有一本书那么厚。
雷锋网版权文章,未经授权禁止转载。详情见 转载须知 。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Lisp 家族迎来新成员,函数式语言 Lux 是什么?
- Debian Linux迎来25周岁生日
- 国内存储芯片迎来最好的发展时机
- Google Jib 即将迎来正式版
- Google Jib 即将迎来正式版
- Visual Studio 2017迎来F# 4.1
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Persuasive Technology
B.J. Fogg / Morgan Kaufmann / 2002-12 / USD 39.95
Can computers change what you think and do? Can they motivate you to stop smoking, persuade you to buy insurance, or convince you to join the Army? "Yes, they can," says Dr. B.J. Fogg, directo......一起来看看 《Persuasive Technology》 这本书的介绍吧!