Релиз Erlang/OTP 19.0

2016-06-23

Состоялся релиз функционального языка программирования Erlang 19.0, нацеленного на разработку распределённых отказоустойчивых приложений, обеспечивающих параллельную обработку запросов в режиме реального времени. Язык получил распространение в таких областях, как телекоммуникации, банковские системы, электронная коммерция, компьютерная телефония и организация мгновенного обмена сообщениями. Одновременно выпущен релиз OTP 19.0 (Open Telecom Platform) - сопутствующего набора библиотек и компонентов для разработки распределённых систем на языке Erlang.

Из наиболее важных изменений можно отметить:

  • Новые макросы препроцессора ?FUNCTION_NAME и ?FUNCTION_ARITY;
  • В препроцессор добавлены директивы -error(Term) и -warning(Term) для искусственного инициирования ошибки или предупреждения во время компиляции;
  • Новый режим работы конечного автомата - gen_statem;
  • Добавлен плагин mnesia_ext для использования внешних интерфейсов хранения к Mnesia;
  • В модуле crypto задействован EVP-интерфейс OpenSSL, что позволило увеличить производительность и добиться поддержки аппаратного ускорения;
  • Увеличена производительность модуля ssh;
  • Расширен вывод сообщений об ошибках в модуле ssl;
  • В dialyzer значительно расширены возможности работы с типом maps;
  • В erts в 3-5 раз ускорена работа функции erlang:open_port(spawn, ...), расширены средства трассировки, улучшена работа планировщиков, добавлена возможность настройки обработки message_queue в привязке к процессам, ускорена одновременная загрузка модулей, добавлена опция max_heap_size;
  • В erts/kernel добавлена экспериментальная поддержка Unix-сокетов, например gen_udp:open(0, [{ifaddr,{local,"/tmp/socket"}}]).