Po roku vývoja bol vydaný funkcionálny programovací jazyk Erlang 25, zameraný na vývoj distribuovaných odolných aplikácií, ktoré zabezpečujú paralelné spracovanie požiadaviek v reálnom čase. Jazyk sa rozšíril v oblastiach ako telekomunikácie, bankové systémy, elektronický obchod, počítačová telefónia a organizácia okamžitej výmeny správ. Súčasne bol vydaný OTP 25 (Open Telecom Platform) — súbor knižníc a komponentov pre vývoj distribuovaných systémov v jazyku Erlang.
Hlavné novinky:
- Návrh novej konštrukcie „maybe … end“ na skupinovanie viacerých výrazov v jednom bloku, podobnej ako „begin … end“, ale nevedúcej k exportovaniu premenných z bloku, bol implementovaný.
- Pridaná podpora selektívneho aktivovania funkcií, ktorá umožňuje testovanie a postupné zavádzanie nových a potenciálne nekompatibilných funkcií jazyka a runtime bez narušenia existujúceho kódu. Funkcie sa môžu zapínať a vypínať ako počas kompilácie, tak aj pomocou direktívy feature() v súboroch s kódom. Napríklad pre zapnutie nového výrazu maybe v kóde sa môže uviesť „feature(maybe_expr,enable)“.
- V JIT kompilátore boli implementované optimalizácie na základe informácií o typoch údajov a pridaná podpora 64-bitových procesorov ARM (AArch64). Zlepšená podpora nástrojov perf a gdb, do ktorých sa zabezpečila komunikácia údajov o číslach riadkov v kóde.
- Bol pridaný nový modul peer s funkciami na spustenie súvisiacich uzlov Erlang. Po strate riadiaceho spojenia s uzlom sa práca uzla automaticky ukončuje.
- Pridaná podpora OpenSSL 3.0.
- Do modulu maps boli pridané funkcie groups_from_list/2 a groups_from_list/3 na skupinovanie zoznamu prvkov.
- Do modulu lists boli pridané funkcie uniq/1, uniq/2, enumerate/1 a enumerate/2 na odstraňovanie duplicitných prvkov zo zoznamu a generovanie zoznamu párov s číslami prvkov.
- V module rand bol implementovaný nový veľmi rýchly generátor pseudonáhodných čísel.
Zdroj: opennet.ru
