OTP 24.0 版本发布

2021年5月12日 · 作者:Henrik Nord

OTP 24 #

Erlang/OTP 24 是一个新的主要版本,具有新特性、改进以及一些不兼容之处。

以下是此版本的一些亮点

亮点 #

编译器 #

  • 编译器现在将内联仅在其定义后立即使用一次的 funs。
  • 编译器警告和错误现在除了行号外,还包括列号。
  • 在关键字 'try''of' 之间绑定的变量现在可以在 'of' 关键字之后的子句中使用(即,在未引发异常的成功情况下)。
  • 如果生成器的类型不正确,列表和二进制推导式中的生成器现在将引发 {bad_generator,Generator} 异常。类似地,当过滤器未计算为布尔值时,将引发 {bad_filter,Filter} 异常。
  • 可以通过使用以 '_' 开头的变量来抑制对结果被忽略的表达式的警告,这些警告可以通过使用匿名变量 '_' 来抑制。
  • 选择性接收优化现在将更频繁地应用。新的 recv_opt_info 编译标志可用于打印与此优化相关的诊断信息。您可以在《效率指南》中阅读有关选择性接收优化的更多信息。

erts、kernel、stdlib #

  • 在二进制模块中添加了十六进制编码和解码函数
  • BeamAsm JIT 编译器已添加到 Erlang/OTP 中,并将为许多应用程序带来显著的性能提升。在大多数具有可以编译 C++17 的 C++ 编译器的 x86 64 位平台上,默认启用 JIT 编译器。要验证正在运行的 JIT 启用模拟器,可以使用 erlang:system_info(emu_flavor)
  • 已实现一个用于 gen_tcp 的兼容适配器,以使用新的套接字 API (gen_tcp_socket)。
  • 已实现 EEP 54 中提出的针对失败的 BIF 调用的扩展错误信息。
  • 已引入 EEP 53 中概述的进程别名。
  • 在 supervisor 中实现了 EEP 56。它添加了重要子节点的概念以及 auto_shutdown supervisor 标志。有关更多信息,请参阅 supervisor 手册页。

ftp #

  • 添加了对 FTPES(显式 TLS 上 FTP)的支持。

ssl #

  • 使 Erlang 分布中的 TLS 握手并发。
  • TLS 连接现在支持 EdDSA 证书。

wx #

  • 该应用程序已完全重写,以便使用 wxWidgets 版本 3 作为其基础。
  • 添加了对 wxWebView 的支持。

edoc #

  • EDoc 现在能够发出 EEP-48 文档块。这意味着,通过一些配置,社区项目现在可以像 OTP 库自 OTP 23.0 以来那样为 shell_docs 提供文档。

有关新特性和潜在不兼容性的更多详细信息,请参见

可以在此处获取 Windows 的预构建版本:https://erlang.ac.cn/download/otp_win32_24.0.exe https://erlang.ac.cn/download/otp_win64_24.0.exe

可以在此处浏览在线文档

Erlang/OTP 源代码也可以在 GitHub 上的官方 Erlang 存储库中找到,https://github.com/erlang/otp

非常感谢所有贡献者。