Shih më në fund GNU Guile 3.0

U shpall lëshimi GNU Guile 3.0, një implementim të lirë të gjuhës funksionale të programimit Scheme, që mbështet mundësinë e integrimit të kodit në aplikacione të tjera programimi. Guile mund të përdoret si një gjuhë për zhvillimin e zgjatjeve për aplikacione, përcaktimin e konfiguracionesh ose zhvillimin e komponenteve për lidhjen e ndryshimeve të ndryshme që ofrohen nga aplikacioni. Guile është gjuhë e zyrtare për zhvillimin e zgjatjeve për sistemin operativ GNU.

Thelbësia e Guile është një makinë virtuale efektive që ekzekuton një grup udhëzimesh të transferueshme, të gjeneruara nga një kompiler optimizues të veçantë. Makinë virtuale e Guile integrohet lehtësisht me kodin e aplikacioneve në gjuhët C dhe C++. Përveç gjuhës Scheme, për të cilën është implementuar mbështetje për specifikimet R5RS, R6RS dhe R7RS, në kuadër të projektit Guile janë zhvilluar kompajlerë për gjuhë të tjera, si ECMAScript, Emacs Lisp dhe Lua (në proces zhvillimi). Paketa përmban një bibliotekë modulësh, në të cilët janë realizuar funksione standard shërbimi, si puna me protokollin HTTP, analizimin e XML dhe përdorimin e metodave të programimit të orientuar nga objekti.

Noviteti kyç në GNU Guile 3.0 është shfaqja e kompajlerit JIT, përveç interpretuesit dhe kompajlerit të mëparshëm në kodin e byte, i cili ekzekutohet në një makinë virtuale të veçantë, e cila është e lidhur me aplikacionin në formën e një biblioteke. JIT lejon gjenerimin e kodit të makinës në fluks dhe përshpejton ndjeshëm ekzekutimin e aplikacioneve Guile (testet tregojnë përshpejtim deri në 4 herë). Kompajleri JIT mbështet funksionimin në arkitekturat x86-64, i686, ARMv7 dhe AArch64.

Disa nga përmirësimet e tjera:

  • MbĂ«shtetje pĂ«r specifikimin e ri tĂ« gjuhĂ«s Scheme R7RS dhe modulet e bibliotekave tĂ« pĂ«rcaktuara nĂ« tĂ«;
  • NĂ« makinĂ«n virtuale Guile Ă«shtĂ« implementuar mbĂ«shtetje pĂ«r kodin mĂ« tĂ« ulĂ«t, qĂ« lejon aplikimin e optimizimeve tĂ« zgjeruara;
  • MbĂ«shtetje pĂ«r kombinimin e definicioneve tĂ« brendshme dhe shprehjeve (p.sh., “(define _ (begin (foo) #f))”);
  • Ofron njĂ« implementim tĂ« unifikuar tĂ« njĂ« lloji tĂ« dhĂ«nash tĂ« strukturuara ("records");
  • TĂ« dhĂ«nat pĂ«r procesimin e pĂ«rjashtimeve (throw dhe catch) janĂ« ripĂ«rpunuar;
  • JanĂ« pĂ«rcaktuar lidhjet 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Ă« enkriptuar duke pĂ«rdorur TLS me verifikimin e saktĂ« tĂ« certifikatave.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster