GNU Guile 3.0 har sett dagens lys

Har funnet sted versjon GNU Guile 3.0, fri reisa funksjonelt programmeringsspråk Ordning, som støtter muligheten for å innebygge kode i applikasjoner skrevet i andre programmeringsspråk. Guile kan brukes som et språk for utvikling av utvidelser for applikasjoner, definisjon av konfigurasjoner eller utvikling av komponenter for å koble sammen ulike primitive som tilbys av applikasjonen. Guile er det offisielle språket for utvikling av utvidelser for GNU-operativsystemet.

Grunnlaget for Guile er en effektiv virtuell maskin som kjører et portabelt instruksjonssett, generert av en spesialdesignet optimaliseringskompilator. Guile sin virtuelle maskin kan lett integreres med kode skrevet i C og C++. I tillegg til språkene Scheme, som har støtte for spesifikasjoner R5RS, R6RS og R7RS, er det i prosjektet Guile utviklet kompilatorer for andre språk, som ECMAScript, Emacs Lisp og Lua (under utvikling). I pakken inngår et bibliotek med moduler som implementerer typiske tjenestefunksjoner, som HTTP-protokollhåndtering, XML-parsing og bruk av objektorienterte programmeringsmetoder.

Et av de viktigste nyvinningene i GNU Guile 3.0 var introduksjonen av JIT-kompilator, i tillegg til de tidligere tilgjengelige tolkeren og kompilatoren til bytekode, som kjøres i en spesialbygd virtuell maskin knyttet til applikasjonen i form av et bibliotek. JIT tillater generering av maskinkode på farten og gir betydelig raskere kjøring av Guile-applikasjoner (tester viser opptil 4x hastighetsforbedring). JIT-kompilatoren støtter drift på arkitekturer som x86-64, i686, ARMv7 og AArch64.

Noen av de andre forbedringene:

  • Støtte for den nye spesifikasjonen av språket Scheme R7RS og de bibliotekmodulene som er definert i den;
  • I Guile sin virtuelle maskin er det implementert støtte for et mer lavnivå bytekode, som muliggjør utvidede optimaliseringer;
  • Støtte for å kombinere interne define-definisjoner og uttrykk (f.eks. «(define _ (begin (foo) #f))»);
  • Et enhetlig oppsett for implementering av strukturerte datatyper («records»);
  • Omstrukturering av primitive unntakshåndtering (throw og catch);
  • Definert bindinger for utvidet syntaks «else», «=>», «…» og «_»;
  • I http-request, http-get og andre prosesser knyttet til web-klienter, er det nå mulig å laste ned innhold via en kryptert forbindelse ved hjelp av TLS med korrekt sertifikatverifisering.

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster