Релиз Erlang/OTP 25
После года разработки cостоялся релиз функционального языка программирования Erlang 25, нацеленного на разработку распределённых отказоустойчивых приложений, обеспечивающих параллельную обработку запросов в режиме реального времени. Язык получил распространение в таких областях, как телекоммуникации, банковские системы, электронная коммерция, компьютерная телефония и организация мгновенного обмена сообщениями. Одновременно выпущен релиз OTP 25 (Open Telecom Platform) — сопутствующего набора библиотек и компонентов для разработки распределённых систем на языке Erlang.
Основные новшества:
Реализована новая конструкция «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 реализован новый очень быстрый генератор псевдослучайных чисел.
Источник: http://www.opennet.ru/opennews/art.shtml? num=57223
© OpenNet