Rust实现的函数式编程语言-Gleam
2023-04-07 10:11:16 阿炯

Gleam 是 Rust 实现的函数式编程语言,构建于 Erlang 虚拟机之上,被编译为支持与其他 BEAM 语言(如 Erlang、Elixir 和 LFE)互操作,主要用于构建类型安全、可扩展的系统。类型安全且可扩展的编程语言,可用于 Erlang 虚拟机和 JavaScript 运行时。采用Apache协议的使用授权。


特性
基于 actor 的多核并发
代数数据类型
Erlang 风格的容错
快速编译
全类型推断
泛型与No Null
有用的错误信息
不可变数据结构
默认没有异常
没有未定义的行为
可靠的包管理
小而一致的语言设计
与 Erlang、Elixir 等语言的零成本互操作

最新版本:0.28
2023年4月上旬发布的 0.28 包含以下变化:

改进语言服务器 (Language server)
Gleam 0.21 引入了语言服务器,不过这个初始版本的功能有限。此后开发团队投入了许多资源来重构编译器的内部结构,以便进一步改进语言服务器。此版本便是这些改进的成果。

支持 Monorepo
Gleam 通常使用 Erlang 虚拟机运行,但它也可以编译为 JavaScript 并在其他地方运行,例如 Web 浏览器。Gleam 社区用户会使用它来构建前端和后端都基于 Gleam 编写的 Web 应用程序,这两个部分都位于同一个代码仓库中。在之前的版本中,语言服务器的每个编辑器实例只支持一个 Gleam 项目,编辑器在根目录下打开。如果打开另一个 Gleam 项目,语言服务器将无法对其进行分析,从而对程序员提供的帮助很少。现在 Gleam 可以在单个编辑器会话中处理任意数量的 Gleam 项目,并且可以按照开发者自己喜欢的任何方式嵌套。语言服务器将为每个打开的项目启动一个新引擎,并将请求路由到每个文件的正确引擎。

鼠标悬停时显示更多信息
当将鼠标悬停在编辑器中的 Gleam 代码上时,语言服务器现在会显示文档。旧版本在悬停时只显示值,现在支持模式匹配模式,显示它们的类型和文档。

更多详细更新内容查看发行公告

官方主页:https://gleam.run/