Etter et års utvikling ble det lansert et funksjonelt programmeringsspråk, Erlang 25, som er rettet mot utvikling av distribuerte og feiltolerante applikasjoner som muliggjør parallell behandling av forespørselene i sanntid. Språket har fått anvendelse innen områder som telekommunikasjon, banksystemer, elektronisk handel, datatelefoni og organisering av umiddelbar meldingsutveksling. Samtidig ble OTP 25 (Open Telecom Platform) utgitt — et tilknyttet sett med biblioteker og komponenter for utvikling av distribuerte systemer på Erlang-språket.
Hovudnyhende:
- En ny konstruksjon kalt «maybe … end» er implementert for gruppering av flere uttrykk i én blokk, lik «begin … end», men som ikke fører til eksport av variabler fra blokken.
- Støtte for selektiv aktivering av funksjoner er lagt til, noe som gjør det mulig å teste og gradvis implementere nye og potensielt bakoverkompatibilitetsforstyrrende funksjoner i språket og runtime uten å forstyrre eksisterende kode. Funksjoner kan slås på eller av både under kompilering og med direktivet feature() i kodefiler. For eksempel, for å aktivere det nye uttrykket maybe i koden kan man spesifisere «feature(maybe_expr,enable)».
- JIT-kompilatoren har fått optimaliseringer basert på informasjon om datatyper, og er oppgradert med støtte for 64-bits ARM-prosessorer (AArch64). Støtten for verktøyene perf og gdb er forbedret, og det er mulig å overføre informasjon om linjenummer i koden.
- En ny modul, peer, er lagt til med funksjoner for å starte relaterte Erlang-noder. Etter tap av kontrollforbindelse med noden avsluttes nodens arbeid automatisk.
- Støtte for OpenSSL 3.0 er lagt til.
- I modulen maps er funksjonene groups_from_list/2 og groups_from_list/3 lagt til for gruppering av en liste med elementer.
- I modulen lists er funksjonene uniq/1, uniq/2, enumerate/1 og enumerate/2 lagt til for å filtrere bort dupliserte elementer i listen og generere en liste med tupler som inneholder elementnummer.
- En ny svært rask generator for pseudotilfeldige tall er implementert i modulen rand.
Kilde: opennet.ru
