GNU Guile 3.0 u lëshua

Ndodhi lirimin GNU Guile 3.0, një zbatim falas i një gjuhe programimi funksionale skemë, i cili mbështet aftësinë për të futur kodin në aplikacione në gjuhë të tjera programimi. Guile mund të përdoret si gjuhë për të zhvilluar shtesat e aplikacioneve, për të përcaktuar konfigurimin ose për të zhvilluar komponentë për të lidhur primitivët e ndryshëm të ofruar nga aplikacioni. Guile është gjuha zyrtare e zhvillimit të zgjerimit për sistemin operativ GNU.

Në zemër të Guile është një makinë virtuale efikase që ekzekuton një grup portativ instruksionesh të krijuara nga një përpilues i veçantë optimizues. Makina virtuale Guile integrohet lehtësisht me kodin e aplikacionit në C dhe C++. Përveç gjuhës së skemës, për të cilën zbatohet mbështetja e specifikimeve 5 RS, 6 RS и 7 RS, projekti Guile ka zhvilluar përpilues për gjuhë të tjera, si ECMAScript, Emacs Lisp dhe Lua (në zhvillim). Paketa përfshin një bibliotekë modulesh që zbatojnë funksione standarde të shërbimit, të tilla si puna me protokollin HTTP, analiza XML dhe përdorimi i metodave të programimit të orientuara nga objekti.

Një risi kyçe në GNU Guile 3.0 ishte prezantimi i një përpiluesi JIT, përveç interpretuesit të ofruar më parë dhe përpiluesit të bytekodit, të ekzekutuar në një makinë virtuale të veçantë të lidhur me aplikacionin në formën e një biblioteke. JIT ju lejon të gjeneroni kodin e makinës në fluturim dhe përshpejton ndjeshëm ekzekutimin e aplikacioneve Guile (testet tregojnë shpejtësi deri në 4 herë). Përpiluesi JIT mbështet arkitekturat x86-64, i686, ARMv7 dhe AArch64.

Disa përmirësime të tjera:

  • Mbështetje për specifikimin e ri të gjuhës së skemës 7 RS dhe modulet e bibliotekës të përcaktuara në të;
  • Makina virtuale Guile ofron mbështetje për bytekodin e nivelit më të ulët, duke lejuar optimizime të avancuara;
  • Mbështetje për kombinimin e definicioneve dhe shprehjeve të brendshme (për shembull, "(define _ (fillo (foo) #f))");
  • Propozohet një zbatim i unifikuar i një lloji të strukturuar të të dhënave (“regjistrat”);
  • Përjashtimet për trajtimin e primitivëve (hedhja dhe kapja) janë ripunuar;
  • Lidhjet e përcaktuara për sintaksën e zgjeruar "tjetër", "=>", "..." dhe "_";
  • Në http-kërkesa, http-get dhe procedura të tjera që lidhen me klientin në internet, është shtuar aftësia për të shkarkuar përmbajtje përmes një kanali komunikimi të koduar duke përdorur TLS me verifikimin e saktë të certifikatës.

Burimi: opennet.ru

Shto një koment