Erlang/OTP 25.0 已发布,这是一个新的重要版本,带来了新特性、改进和修复,当然也包含一些不兼容的改动。
Erlang 是一种通用的并发函数式程序设计语言。Erlang 也可以指 Erlang/OTP 的通称,开源电信平台 (OTP) 是 Erlang 的常用执行环境及一系列标准组件。
主要变化
stdlib
引入新函数filelib:ensure_path/1
,用于确保给定路径的所有目录都存在- 为
maps
模块引入新函数groups_from_list/2
和groups_from_list/3
- 为
lists
module模块引入新函数uniq/1
uniq/2
- 将新的 PRNG 添加到
rand
模块,用于快速生成伪随机数
compiler, kernel, stdlib, syntax_tools
- 增加了对
EEP-60
中描述的可选择特性的支持。在编译过程中可以用erlc
的选项 (ordinary and +term) 以及文件中的指令来启用/禁用特性。类似的选项可以用在erl
中,用于启用/禁用运行时允许的特性。新的maybe
表达式EEP-49
作为 may_expr 特性被完全支持。
erts & JIT
- JIT 现在适用于 64 位 ARM 处理器
- JIT 现在根据 BEAM 文件中的类型信息进行基于类型的优化。
- 改进了 JIT 对
perf
和gdb
等外部工具的支持,允许它们显示行号,甚至可以找到原始的 Erlang 源代码。
详情查看发布公告。