Gleam 是一种类型安全且可扩展的编程语言,可用于 Erlang 虚拟机和 JavaScript 运行时。Gleam v0.24 现已发布,具体更新内容包括:
In-project Elixir support
Gleam 构建工具一直支持编译用Gleam或Erlang编写的模块,但现在它也支持Elixir模块。当你运行gleam build、gleam test等时,src目录下的任何Elixir代码的.ex文件将自动为你编译。
$ tree
# .
# ├── gleam.toml
# └── src
# └── project.ex
#
# 1 directories, 2 files
$ gleam run
# Hello from Elixir in a Gleam project!
这意味着 Gleam 项目现在可以充分利用 Elixir 的代码和库,包括那些使用 Elixir macro system 的项目。“值得注意的是,这并不意味着我们正在对 Elixir 代码进行类型检查或可以分辨出任何 Elixir 函数的类型签名。Elixir 代码将继续使用 Gleam 的外部函数功能导入。”
<> operator
Gleam 现在有了一个可以处理字符串的 <> operator。在一个表达式中,它将两个字符串不变地连接成一个新的字符串。
let who = "Joe"
"Hello, " <> who <> "!"
// => "Hello, Joe!"
在 pattern 中使用时,它可用于匹配具有给定前缀的字符串。
case input {
"Hello, " <> name -> name
_other -> "Unknown"
}
这些新的字符串模式意味着可以编写 string parsers,使用虚拟机高度优化的模式匹配功能编译成高效的 Erlang 字节码。
一个演示:gleam-lang/example-lisp-interpreter.
更多
除了这些主要功能之外,开发团队还修复了 bugs 并改进了 error messages,重点是:Elixir 依赖包支持现在适用于 Windows。
更多详情可查看 changelog。