Nakon godinu dana razvoja, pušten je funkcionalni programski jezik Erlang 25, čiji je cilj razvoj distribuiranih aplikacija otpornih na greške koje pružaju paralelnu obradu upita u realnom vremenu. Jezik je postao široko rasprostranjen u oblastima kao što su telekomunikacije, bankarski sistemi, e-trgovina, kompjuterska telefonija i instant poruke. Istovremeno je objavljeno izdanje OTP 25 (Open Telecom Platform) - pratećeg skupa biblioteka i komponenti za razvoj distribuiranih sistema na jeziku Erlang.
Glavne inovacije:
- Implementirana je nova konstrukcija "možda ... kraj" za grupisanje više izraza u jednom bloku, slično kao "početak ... kraj", ali ne rezultira izvozom varijabli iz bloka.
- Dodata podrška za selektivnu aktivaciju funkcija, omogućavajući vam da testirate i postepeno uvodite nove i potencijalno interoperabilne jezičke i runtime funkcije bez kršenja postojećeg koda. Funkcije se mogu omogućiti i onemogućiti u vrijeme kompajliranja ili korištenjem direktive feature() u datotekama koda. Na primjer, da biste omogućili novi izraz maybe u vašem kodu, možete odrediti "feature(maybe_expr,enable)".
- JIT kompajler implementira optimizacije zasnovane na informacijama o tipu podataka i dodaje podršku za 64-bitne ARM (AArch64) procesore. Poboljšana podrška za perf i gdb uslužne programe, koji pružaju prijenos informacija o brojevima linija u kodu.
- Dodan je novi peer modul sa funkcijama za pokretanje povezanih Erlang čvorova. Nakon što se izgubi kontrolna veza sa čvorom, čvor se automatski prekida.
- Dodata podrška za OpenSSL 3.0.
- Dodate funkcije groups_from_list/2 i groups_from_list/3 modulu mapa za grupisanje liste elemenata.
- Funkcije uniq/1, uniq/2, enumerate/1 i enumerate/2 dodane su modulu liste da filtriraju duple elemente na listi i generišu listu torki sa brojevima elemenata.
- Rand modul implementira novi vrlo brz generator pseudo-slučajnih brojeva.
izvor: opennet.ru