OTP 24.0 版本發布

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

OTP 24 #

Erlang/OTP 24 是一個新的主要版本,包含新功能、改進以及一些不相容之處。

以下是此版本的一些重點

重點 #

編譯器 #

  • 編譯器現在會將在定義後立即僅使用一次的 fun 內聯。
  • 編譯器警告和錯誤現在除了行號外,還包含列號。
  • 在關鍵字 'try''of' 之間綁定的變數現在可以在 'of' 關鍵字之後的子句中使用(也就是說,在沒有引發異常的成功情況下)。
  • 如果產生器的類型不正確,則列表和二元組推導式中的產生器現在會引發 {bad_generator,Generator} 異常。同樣地,當過濾器未評估為布林值時,將會引發 {bad_filter,Filter} 異常。
  • 可以使用匿名變數 '_' 來抑制的忽略表達式結果的警告,現在可以使用以 '_' 開頭的變數來抑制。
  • 選擇性接收優化現在將更頻繁地應用。新的 recv_opt_info 編譯標誌可用於列印與此優化相關的診斷資訊。您可以在效率指南中閱讀更多關於選擇性接收優化的資訊。

erts、kernel、stdlib #

  • 在二元組模組中新增了十六進制編碼和解碼函數。
  • BeamAsm JIT 編譯器已新增到 Erlang/OTP,並將為許多應用程式提供顯著的效能提升。JIT 編譯器在大多數具有可以編譯 C++17 的 C++ 編譯器的 x86 64 位元平台上預設啟用。要驗證是否正在執行已啟用 JIT 的模擬器,可以使用 erlang:system_info(emu_flavor)
  • 已實作 gen_tcp 的相容性調整器,以使用新的 socket API (gen_tcp_socket)。
  • 已實作 EEP 54 中提出的失敗 BIF 呼叫的擴展錯誤資訊。
  • 已引入 EEP 53 中概述的處理序別名。
  • 實作 supervisor 中的 EEP 56。它新增了重要子節點的概念以及 auto_shutdown supervisor 標誌。請參閱 supervisor 手冊頁面以取得更多資訊。

ftp #

  • 新增對 FTPES (顯式 FTP over TLS) 的支援。

ssl #

  • 使 Erlang 分散式系統中的 TLS 交握可以並行執行。
  • TLS 連線現在支援 EdDSA 憑證。

wx #

  • 為了使用 wxWidgets 3 版作為基礎,應用程式已完全重寫。
  • 新增對 wxWebView 的支援。

edoc #

  • EDoc 現在能夠發出 EEP-48 doc 區塊。這表示,在進行一些設定後,社群專案現在可以像 OTP 程式庫自 OTP 23.0 起一樣,為 shell_docs 提供文件。

有關新功能和潛在不相容性的更多詳細資訊,請參閱

Windows 的預先建置版本可以在這裡取得:https://erlang.dev.org.tw/download/otp_win32_24.0.exe https://erlang.dev.org.tw/download/otp_win64_24.0.exe

線上文件可以在這裡瀏覽

Erlang/OTP 原始碼也可以在 GitHub 的官方 Erlang 儲存庫中找到,https://github.com/erlang/otp

非常感謝所有貢獻者。