GNU Guile 3.0 yayımlandı

Tədbir baş tutdu buraxılış GNU Guile 3.0, sərbəst tətbiq olunan funksional proqramlaşdırma dili Scheme, digər proqramlaşdırma dillərində tətbiqlərə kod daxil etmə imkanını dəstəkləyir. Guile genişləndirmələr üçün proqramların inkişafında, konfiqurasiyanın müəyyənləşdirilməsində və tətbiqin təqdim etdiyi müxtəlif primitivlərin əlaqələrini yaratmaq üçün komponentlərin hazırlanmasında istifadə oluna bilər. Guile, GNU əməliyyat sisteminin genişləndirmələr üçün rəsmi inkişaf dilidir.

Guile-in əsası, spekial optimallaşdıran kompilyator tərəfindən yaradılan keçirilə bilən əmrlər dəstini icra edən effektiv virtual maşındır. Guile virtual maşını C və C++ dillərindəki tətbiqlərlə asanlıqla inteqrasiya olunur. Scheme dilindən əlavə, spesifikasiyaların dəstəkləndiyi R5RS, R6RSR7RS, Guile layihəsi çərçivəsində ECMAScript, Emacs Lisp və Lua (hazırda inkişafda) üçün başqa dillərin kompilyatorları da hazırlanmışdır. Paketin tərkibinə HTTP protokolunun işlənməsi, XML parsing və obyekt yönümlü proqramlaşdırma metodlarının istifadəsi kimi tipik xidmət funksiyalarını ehtiva edən modulların kitabxanası daxildir.

GNU Guile 3.0-da əsas yenilik JIT-kompilyatorunun meydana gəlməsi oldu, daha əvvəl təqdim olunan bayt kodunu icra edən interpretator və kompilyatorın yanında, tətbiqə kitabxana formasında bağlanan xüsusi virtual maşında. JIT, canlı olaraq maşın kodu yaratmağa imkan verir və Guile tətbiqlərinin icrasını əhəmiyyətli dərəcədə sürətləndirir (sınaqlar, sürətin 4 dəfəyə qədər artdığını göstərir). JIT-kompilyator x86-64, i686, ARMv7 və AArch64 arxitekturalarında işləmək üçün dəstəklənir.

Başqa bəzi yaxşılaşdırmalar:

  • Yeni Scheme dilinin spesifikasiyasının dəstəyi R7RS və onun içində müəyyən edilmiş kitabxana modullar;
  • Guile virtual maşınında genişləndirilmiş optimizasiyaların tətbiqi hüququ verən daha aşağı səviyyəli bayt kodunun dəstəyi həyata keçirilmişdir;
  • Daxili define-təyin etmələrinin və ifadələrinin (məsələn, «(define _ (begin (foo) #f))») kombinasiyasının dəstəyi;
  • Verilmiş strukturlaşdırılmış məlumat növü («records») üçün birləşdirilmiş icra təqdim edilmişdir;
  • İstisnaların işlənməsi üçün primitivlər (throw və catch) yenidən işlənmişdir;
  • «else», «=>», «…» və «_» genişləndirilmiş sintaksisi üçün bağlamaların müəyyən edilməsi;
  • http-request, http-get və veb müştəri ilə əlaqəli digər prosedurlara TLS istifadə etməklə şifrəli kanal üzərindən kontentin yüklənməsi imkanı əlavə edilmişdir, sertifikatların düzgün doğrulanması ilə.

Mənbə: opennet.ru

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster