Po letu razvoja je izšel funkcionalni programski jezik Erlang 25, ki je osredotočen na razvoj distribuiranih odpornih aplikacij, ki omogočajo paralelno obdelavo zahtevkov v realnem času. Jezik se je razširil na področja, kot so telekomunikacije, bančni sistemi, elektronika, računalniška telefonija in organizacija takojšnjega sporočanja. Hkrati je izšel tudi verzija OTP 25 (Open Telecom Platform) — spremljajoč niz knjižnic in komponent za razvoj distribuiranih sistemov v jeziku Erlang.
Glavne novosti:
- Izvedena je bila nova konstrukcija 'maybe … end' za grupiranje več izrazov v eni blokadi, podobna 'begin … end', vendar ne prenaša spremenljivk iz bloka.
- Dodana je podpora za postopno aktivacijo lastnosti, ki omogoča testiranje in postopno uvajanje novih in potencialno nezdružljivih lastnosti jezika in runtime brez motenj obstoječega kodiranja. Lastnosti se lahko vključijo in izključijo tako med prevajanjem kot tudi s pomočjo direktive feature() v datotekah s kodo. Na primer, za vključitev novega izraza maybe v kodo lahko navedete 'feature(maybe_expr,enable)'.
- V JIT prevajalniku so bile izvedene optimizacije na podlagi informacij o tipih podatkov in dodana podpora za 64-bitne ARM procesorje (AArch64). Izboljšana je podpora za orodja perf in gdb, v katerih je bila omogočena prenos podatkov o številkah vrstic v kodi.
- Dodan je nov modul peer s funkcijami za zagon povezanih vozlišč Erlang. Po izgubi upravljalske povezave z vozliščem se delo vozlišča samodejno konča.
- Dodana je podpora za OpenSSL 3.0.
- V modul maps so dodane funkcije groups_from_list/2 in groups_from_list/3 za grupiranje seznama elementov.
- V modul lists so dodane funkcije uniq/1, uniq/2, enumerate/1 in enumerate/2 za filtriranje podvojenih elementov v seznamu in generiranje seznama tuple s številkami elementov.
- V modulu rand je bil implementiran nov zelo hiter generator psevdonaključnih števil.
Izvor: opennet.ru
