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
非常感謝所有貢獻者。