Dopu un annu di sviluppu, u linguaghju di prugrammazione funziunale Erlang 25 hè statu liberatu, destinatu à sviluppà applicazioni distribuite toleranti à i difetti chì furniscenu un prucessu parallelu di dumanda in tempu reale. A lingua hè diventata diffusa in i settori cum'è e telecomunicazioni, i sistemi bancari, l'e-commerce, a telefonia di l'informatica è a messageria immediata. À u listessu tempu, a liberazione di OTP 25 (Open Telecom Platform) hè stata liberata - un inseme accumpagnatu di biblioteche è cumpunenti per sviluppà sistemi distribuiti in lingua Erlang.
Innuvazioni principali:
- Реализована новая конструкция «maybe … end» для группировки нескольких выражений в одном блоке, похожая на «begin … end», но не приводящая к экспорту переменных из блока.
- Добавлена поддержка выборочной активации возможностей, позволяющая тестировать и постепенно внедрять новые и потенциально нарушающие совместимость возможности языка и runtime без нарушения работы существующего кода. Возможности могут включаться и отключаться как во время компиляции, так и при помощи директивы feature() в файлах с кодом. Например, для включения нового выражения maybe в коде можно указать «feature(maybe_expr,enable)».
- В JIT-компиляторе реализованы оптимизации на основе информации о типах данных и добавлена поддержка 64-разрядных процессоров ARM (AArch64). Улучшена поддержка утилит perf и gdb, в которые обеспечена передача сведений о номерах строк в коде.
- Добавлен новый модуль peer с функциями для запуска связанных узлов Erlang. После потери управляющего соединения с узлом работа узла автоматически завершается.
- Добавлена поддержка OpenSSL 3.0.
- В модуль maps добавлены функции groups_from_list/2 и groups_from_list/3 для группировки списка элементов.
- В модуль lists добавлены функции uniq/1, uniq/2, enumerate/1 и enumerate/2 для отсеивания дублирующихся элементов в списке и генерации списка кортежей с номерами элементов.
- В модуле rand реализован новый очень быстрый генератор псевдослучайных чисел.
Source: opennet.ru