Shfaqet GNU Guile 3.0

U zhvillua lëshimi GNU Guile 3.0, e një gjuhë programimi funksionale të hapur Scheme, e cila mbështet mundësinë e integrimit të kodit në aplikacione në gjuhë të tjera programimi. Guile mund të përdoret si një gjuhë për zhvillimin e shtesave për aplikacione, për të përcaktuar konfigurimin ose për të zhvilluar komponente për lidhjen e elementeve të ndryshme që ofrohen nga aplikacioni. Guile është gjuha zyrtare për zhvillimin e shtesave për sistemin operativ GNU.

Baza e Guile është një makinë virtuale efikase, e cila ekzekuton një grup instruksionesh të portueshëm, të gjeneruar nga një përpilues optimizues të vecantë. Makinë virtuale Guile integrohet lehtë me kodin e aplikacioneve në gjuhët C dhe C++. Përveç gjuhës Scheme, për të cilën është realizuar mbështetje për specifikimet R5RS, R6RS dhe R7RS, në kuadër të projektit Guile janë zhvilluar gjithashtu përpilues për gjuhë të tjera, si ECMAScript, Emacs Lisp dhe Lua (në proces zhvillimi). Paketa përfshin një bibliotekë modulash, në të cilat janë realizuar funksione të zakonshme shërbimi, si puna me protokollin HTTP, analizimin e XML dhe përdorimin e metodave të programimit objekt-orientuar.

Krahasimi kryesor në GNU Guile 3.0 ishte shfaqja e një përpiluesi JIT, përveç përkthyesit dhe përpiluesit në kodin bajt, i cili ekzekutohet në një makinë virtuale të posaçme, e lidhur me aplikacionin në formën e një biblioteke. JIT lejon gjenerimin e kodit makinor në kohë reale dhe ndihmon në përshpejtimin e ekzekutimit të aplikacioneve Guile (testet tregojnë përshpejtim deri në 4 herë). Përpiluesi JIT mbështet punën në arkitekturën x86-64, i686, ARMv7 dhe AArch64.

Disa përmirësime të tjera:

  • MbĂ«shtetje pĂ«r specifikimin e ri tĂ« gjuhĂ«s Scheme R7RS dhe modulat e bibliotekave tĂ« pĂ«rcaktuara nĂ« tĂ«;
  • NĂ« makinĂ«n virtuale Guile Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r njĂ« kod mĂ« tĂ« ulĂ«t bajt, duke lejuar pĂ«rdorimin e optimizimeve tĂ« zgjeruara;
  • MbĂ«shtetje pĂ«r kombinimin e definicioneve tĂ« brendshme dhe shprehjeve (p.sh., «(define _ (begin (foo) #f))»);
  • ËshtĂ« propozuar njĂ« implementim i unifikuar pĂ«r tipe tĂ« dhĂ«nash tĂ« strukturuara («records»);
  • JanĂ« rishikuar primitivĂ«t e trajtimit tĂ« pĂ«rjashtimeve (throw dhe catch);
  • JanĂ« pĂ«rcaktuar binde pĂ«r sintaksĂ«n e zgjeruar «else», «=>», « » dhe «_»;
  • NĂ« http-request, http-get dhe procedurat e tjera tĂ« lidhura me klientin web Ă«shtĂ« shtuar mundĂ«sia pĂ«r tĂ« ngarkuar pĂ«rmbajtje pĂ«rmes njĂ« kanali tĂ« koduar tĂ« komunikimit duke pĂ«rdorur TLS me verifikimin e saktĂ« tĂ« certifikatave.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster