Lisp 家族迎来新成员,函数式语言 Lux 是什么?

简介:

代码世界即将加入一门新成员:Lux。你没看错,它不是洗发水,而是古老的 Lisp 家族中新诞生的函数式语言。

目前 Lux 还在研发之中,最新版本是 0.5.0。它可被用来编写一系列在 JVM (Java 虚拟机)上运行的程序。但它的语义并不是与 JVM 绑定的,因此,Lux 应该被理解为是一门通用语言,被设计用来尽可能多平台地进行程序表示。但同时,它要能够深入每一个特定平台,实现后者的丰富功能。

 

Lisp 家族迎来新成员,函数式语言 Lux 是什么?

 

作为新语言,它有何特别之处?

Lux 是纯粹的函数式编程语言,它采用了严格计算(eager-evaluation)而非惰性计算,来提高逻辑简洁性,而适当牺牲性能和程序行为。这门语言受到 Haskell、Clojure 和 ML 的启发。其中,Clojure,这门同样基于 Lisp、面向 JVM 的主流语言,是 Lux 的首要启发来源。但和 Clojure 不同的是,Lux 采用了静态类型(statically typed)以提高性能并减少漏洞。

 

Lisp 家族迎来新成员,函数式语言 Lux 是什么?

 

Lux 允许开发者通过编程创造新类型,这会提供动态类型语言(dynamically typed )所具有的灵活性。函数式语言 Haskell 有类型类(type classes),而雷锋网(公众号:雷锋网)获知, Lux 的约束性不会这么强——想要绕过任何约束可在语言中原生实现,而不需要黑入类型系统。

Lisp 开发于 1958 年,是最早的用于人工智能的编程语言。现在用的人虽然少了,但多门基于 Lisp 的变种、或者说子孙语言,仍然占有重要地位。这些基于 Lisp 的语言,使得开发者进行元编程(metaprogramming)成为了可能——改变语言本身的行为,或者编写能写代码的代码。Lux 通过与 Lisp 类似的宏(macros)来实现这一点,但这同时把 Lux 的编译器暴露为语言中的一件物体。通过这种方式,Lux 可以定制能被用户重写的模型匹配系统( pattern-matching systems )。

 

Lisp 家族迎来新成员,函数式语言 Lux 是什么?

 

雷锋网获知,尽管提供了与 Java 的交互操作,Lux 会专注于函数式编程。

Lux 的开发者团队表示:

Lux 既简洁又复杂。它的设计允许你只用一个小的子集,就能创建出高效的程序。但 Lux 的目标是为我们提供有一系列强大工具的武器库,来满足开发者在各类项目中的不同需求。

他们还表示,虽然函数式语言是学界人士做研究的最爱,但 Lux 为软件开发人员的日常工作而设计。

对 Lux 感兴趣的程序猿们,可通过 GitBooks 获得它的详细介绍。顺便提醒一下,这有一本书那么厚。


本文转自d1net(转载)

相关文章
|
4月前
|
算法 测试技术 开发者
编程范式之争:面向对象与函数式的较量
在当今软件开发领域,面向对象编程(OOP)和函数式编程(FP)是两种备受瞩目的主流编程范式。本文将比较这两种范式的特点和优势,并探讨如何在实际项目中进行选择。
|
2月前
|
Java 程序员
揭秘编程语言中的强大工具:方法重载的终极指南
揭秘编程语言中的强大工具:方法重载的终极指南
8 0
|
3月前
|
开发者 Python
Python中的元编程:扩展语言的力量
【2月更文挑战第5天】本文将探讨Python中的元编程,介绍了元编程的概念和意义,并详细讨论了Python中常用的元编程技术,如装饰器、元类和动态类型。通过元编程,我们可以在不改变语言核心的情况下,扩展Python的功能和灵活性,为开发者提供更强大的工具和框架。
|
Rust 安全 JavaScript
Rust通用编程概念
Rust通用编程概念
|
Swift
swift语言之函数的基本构架
swift语言之函数的基本构架
108 0
swift语言之函数的基本构架
|
存储 SQL JavaScript
他们发明了一门编程语言,名字叫:摇滚明星 Rockstar
  Rockstar 是一门图灵完备的动态编程语言。设计这门语言的目的是能够像写歌词一样开发计算机程序。它的歌词风格主要受 20 世纪 80 年代重摇滚和电力民谣的影响。   为什么会有 Rockstar?   如果我们让 Rockstar 成为一门真正的(虽然毫无意义)编程语言,招聘人员就不会在招聘时对“摇滚开发者”颇有微词。   另外,它很有趣,一门基于歌词编译的编程语言很值得我们一试。   我们还可以用它做贴纸,谁不想在自己的笔记本电脑上贴上“认证 Rockstar 开发者”这样的贴纸呢?   Rockstar 语言规范   注释   我们不建议在 Rockstar 程序中
354 0
|
JavaScript 前端开发 Java
D 语言之父谈 D 语言的诞生
将Walter Bright带往写一门语言、现在排在前20名的道路是从好奇开始的——也有侮辱。
305 0
D 语言之父谈 D 语言的诞生
|
机器学习/深度学习 存储 Rust
Rust 能够取代 C 语言吗?
Rust 是 Mozilla 基金会的一个雄心勃勃的项目,号称是 C 语言和 C++ 的继任者。一直以来,C/C++ 中的一些基本问题都没能得到解决,比如分段错误、手动内存管理、内存泄漏风险和不可预测的编译器行为。Rust 的诞生就是为了解决这些问题,并提高安全性和性能。
|
Dart 编译器 数据格式
13种最为荒谬的编程语言
导读:文章根据topdesignmag.com上一篇《Top 13 Most Absurd Programming Languages》,整理编译而来。这是一个娱乐贴,不要去问这些编程语言到底有没有什么实用价值,可以让我们感叹一下神奇和开发者独特的思维,这就是实用价值。
1093 0

热门文章

最新文章