Efter et års udvikling blev den funktionelle programmeringssprog Erlang 25 frigivet, som er målrettet mod udviklingen af distribuerede fejlsikre applikationer, der muliggør parallel behandling af anmodninger i realtid. Sproget er blevet anvendt indenfor telekommunikation, banksystemer, e-handel, computertelefoni og organisation af øjeblikkelig messaging. Samtidig blev OTP 25 (Open Telecom Platform) frigivet - et tilknyttet bibliotek og komponenter til udvikling af distribuerede systemer i Erlang.
Hovednyhederne:
- Der er implementeret en ny konstruktion "maybe ... end" til gruppering af flere udtryk i et enkelt blok, som ligner "begin ... end", men ikke fører til eksport af variabler fra blokken.
- Der er tilføjet støtte til selektiv aktivering af funktioner, som muliggør test og gradvis implementering af nye og potentielt inkompatible funktioner i sproget og runtime uden at påvirke eksisterende kode. Funktioner kan aktiveres og deaktiveres både under kompileringen og ved hjælp af direktivet feature() i kodefiler. For eksempel, for at aktivere det nye udtryk maybe i koden kan man angive "feature(maybe_expr,enable)".
- Der er implementeret optimeringer baseret på information om datatyper i JIT-kompilatoren, og der er tilføjet støtte til 64-bit ARM-processorer (AArch64). Støtten til værktøjerne perf og gdb er forbedret, hvor linjenumre i koden nu overføres.
- Der er tilføjet en ny peer modul med funktioner til at starte tilknyttede Erlang noder. Efter tab af kontrolforbindelse til en node afsluttes nodens drift automatisk.
- Støtte til OpenSSL 3.0 er blevet tilføjet.
- I modulet maps er der tilføjet funktionerne groups_from_list/2 og groups_from_list/3 til gruppering af en liste af elementer.
- I modulet lists er der tilføjet funktionerne uniq/1, uniq/2, enumerate/1 og enumerate/2 til filtrering af duplikerede elementer i en liste og generering af en liste af tupler med elementernes numre.
- I modulet rand er der implementeret en ny, meget hurtig generator af pseudotilfældige tal.
Kilde: opennet.ru
