GNU Guile 3.0 er blevet lanceret

Har fundet sted udgivelse GNU Guile 3.0, en fri implementation af et funktionelt programmeringssprog Scheme, der understøtter muligheden for at integrere kode i applikationer på andre programmeringssprog. Guile kan bruges som sprog til udvikling af udvidelser til applikationer, definition af konfiguration eller udvikling af komponenter til at forbinde forskellige primtiver leveret af applikationen. Guile er det officielle sprog til udvikling af udvidelser til GNU-operativsystemet.

Kernen i Guile er en effektiv virtuel maskine, der udfører et bærbart instruktion sæt genereret af en særligt optimerende compiler. Guile's virtuelle maskine integreres nemt med kode fra applikationer på C og C++. Udover Scheme, som der er implementeret understøttelse af specifikationer for R5RS, R6RS og R7RS, er der også udviklet compilere til andre sprog som ECMAScript, Emacs Lisp og Lua (under udvikling) som en del af projektet Guile. Biblioteket, der følger med pakken, indeholder modulære funktioner, der implementerer standard servicefunktioner som HTTP-protokol, XML-parsing og brug af objektorienterede programmeringsmetoder.

Et nøgleinnovation i GNU Guile 3.0 er introduktionen af en JIT-compiler, ud over de tidligere tilbudte tolk og compiler til bytecode, der køres i en særlig virtuel maskine bundet til applikationen i form af et biblioteks. JIT muliggør generering af maskinkode i realtid og øger betydeligt hastigheden af Guile-applikationer (test viser hastighedsforøgelse på op til 4 gange). JIT-compileren understøtter arbejde på arkitekturerne x86-64, i686, ARMv7 og AArch64.

Nogle af de andre forbedringer:

  • Understøttelse af den nye specifikation for sproget Scheme R7RS og de bibliotek moduler, der er defineret deri;
  • I Guile's virtuelle maskine er der implementeret understøttelse af et lavere-niveau bytecode, der tillader avancerede optimeringer;
  • Understøttelse af kombinationen af interne define-definitioner og udsagn (f.eks. «(define _ (begin (foo) #f))»);
  • Foreslået en forenet implementering af strukturerede datatyper («records»);
  • Revideret primitive fejlbehandlingsmetoder (throw og catch);
  • Defineret bindinger for den udvidede syntaks «else», «=>», «…» og «_»;
  • I http-request, http-get og andre relaterede web-klient procedurer er muligheden for at overføre indhold via en krypteret kommunikationskanal ved hjælp af TLS med korrekt certifikatverifikation blevet tilføjet.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster