Objavljen je GNU Guile 3.0

Održano izdanje GNU Guile 3.0, slobodna implementacija funkcionalnog programskog jezika Scheme, koji podržava mogućnost umetanja koda u aplikacije na drugim programskim jezicima. Guile se može koristiti kao jezik za razvoj ekstenzija za aplikacije, definiciju konfiguracije ili razvoj komponenti za povezivanje različitih primiteta koje pruža aplikacija. Guile je službeni jezik za razvoj ekstenzija za operativni sustav GNU.

Osnova Guilea čini efikasan virtualni stroj koji izvršava prenosivi skup instrukcija, generiran od strane posebnog optimizirajućeg kompajlera. Virtualni stroj Guile lako se integrira s kodom aplikacija na C i C++ jeziku. Pored jezika Scheme, za koji je implementirana podrška specifikacijama R5RS, R6RS i R7RS, u okviru projekta Guile razvijeni su kompajleri i za druge jezike, kao što su ECMAScript, Emacs Lisp i Lua (u razvoju). Paket uključuje biblioteku modula, u kojima su implementirane tipične servisne funkcije, poput rada s HTTP protokolom, parsiranje XML-a i korištenje metoda objektno-orijentiranog programiranja.

Ključna novina u GNU Guile 3.0 bila je pojava JIT kompajlera, osim prethodno ponuđenih interpreter i kompajlera u bajtkodu, koji se izvršava u posebnom virtualnom stroju, vezanom uz aplikaciju u obliku biblioteke. JIT omogućuje generiranje mašinskog koda u hodu i znatno ubrzava izvršenje Guile aplikacija (testovi pokazuju ubrzanje do 4 puta). JIT kompajler podržava rad na arhitekturama x86-64, i686, ARMv7 i AArch64.

Neka od drugih poboljšanja:

  • Podrška novoj specifikaciji jezika Scheme R7RS i određenim u njoj knjižničnim modulima;
  • U virtualnom stroju Guile implementirana je podrška za niže razine bajtkoda, omogućujući primjenu naprednih optimizacija;
  • Podrška kombiniranju unutarnjih define-definicija i izraza (na primjer, „(define _ (begin (foo) #f))“);
  • Predložena je unificirana implementacija strukturiranog tipa podataka („records“);
  • Preradjeni su primitivni alati za rukovanje iznimkama (throw i catch);
  • Definirani su bindingi za proširenu sintaksu „else“, „=>“, „…“ i „_“;
  • U http-request, http-get i drugim povezanim procedurama s web-klijentom dodana je mogućnost preuzimanja sadržaja putem šifriranog komunikacijskog kanala koristeći TLS uz pravilnu provjeru certifikata.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster