Nägi ilmavalgust GNU Guile 3.0

Toimus vabastus GNU Guile 3.0, vabalt rakendatav funktsionaalne programmeerimiskeel Scheme, mis toetab koodi sisestamise võimalust teistes programmeerimiskeeltesse. Guile saab kasutada laienduste arendamiseks rakendustes, konfiguratsioonide määratlemiseks või komponentide arendamiseks erinevate rakenduse pakkumiste sidumiseks. Guile on ametlik laienduste arendamise keel GNU operatsioonisüsteemis.

Guile'i aluseks on efektiivne virtuaalmasin, mis täidab kantavaid juhiseid, mis genereeritakse spetsiaalse optimeeriva kompilaatori abil. Guile'i virtuaalmasin integreerub hõlpsasti C ja C++ keeles kirjutatud rakenduste koodiga. Peale Scheme'i keele, millele on rakendatud spetsifikatsioonide tugi R5RS, R6RS ja R7RS, on Guile'i projekti raames arendatud kompilaatoreid ka teistele keeltele, nagu ECMAScript, Emacs Lisp ja Lua (arendamisel). Pakett sisaldab moodulite raamatukogu, milles on implementeeritud tüüpilised teenusefunktsioonid, nagu HTTP protokolli töötlemine, XML-i parsimine ja objektorienteeritud programmeerimise meetodite kasutamine.

GNU Guile 3.0 peamine uuendus on JIT-kompilaatori kasutuselevõtt, lisaks varem pakutud tõlgendajale ja bytecode kompilaatorile, mille täidab spetsiaalne virtuaalmasin, mis on rakendusega seotud raamatukoguna. JIT võimaldab genereerida masina koodi reaalajas ja kiirendab oluliselt Guile rakenduste täitmist (testid näitavad kuni 4 korda kiirusetõusu). JIT-kompilaator toetab töötamist arhitektuuridel x86-64, i686, ARMv7 ja AArch64.

Mõned teised täiustused:

  • Uue Scheme'i keele spetsifikatsiooni tugi R7RS ja selles määratletud raamatukogu moodulid;
  • Guile'i virtuaalmasinas on rakendatud madalama taseme bytecode'i tugi, mis võimaldab rakendada ulatuslikke optimeerimisi;
  • Sisemiste defineerimiste ja avalduste (nt „(define _ (begin (foo) #f))”) kombineerimise tugi;
  • On pakutud ühtne struktureeritud andmetüüpide ("records") rakendamine;
  • On ümber töötatud erandihaldus primitiivid (throw ja catch);
  • On määratletud sidumised laiendatud sünteesi jaoks "else", "=>", „…” ja "_";
  • HTTP-päringutes, HTTP-get-is ja muudes veebiklientidega seotud protseduurides on lisatud võimalus laadida sisu krüpteeritud suhtluskanali kaudu TLS-i kasutamisega ning sertifikaatide õige kinnitamisega.

Allikas: opennet.ru

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster