izdanje , prostega učinkovitega programskega jezika , ki omogoča vgradnjo kode v aplikacije v drugih programskih jezikih. Guile se lahko uporablja kot jezik za razvoj razširitev za aplikacije, določanje konfiguracije ali razvoj komponent za povezovanje različnih primitivi, ki jih ponuja aplikacija. Guile je uradni jezik za razvoj razširitev za operacijski sistem GNU.
Osnova Guile je učinkovita virtualna naprava, ki izvaja prenosljiv sklop navodil, ki jih generira poseben optimizirajoči prevajalnik. Virtualna naprava Guile se zlahka integrira s kodo aplikacij v jezikih C in C++. Poleg jezika Scheme, za katerega je vpeljana podpora specifikacijam , in , v okviru projekta Guile so razviti tudi prevajalniki za druge jezike, kot so ECMAScript, Emacs Lisp in Lua (v razvoju). Paket vključuje knjižnico modulov, v katerih so implementirane tipične storitvene funkcije, kot so delo s protokolom HTTP, obdelava XML in uporaba metod objektno usmerjenega programiranja.
Ključna novost v GNU Guile 3.0 je bila uvedba JIT-prevajalnika, poleg prej ponujenih interpreterja in prevajalnika v bajtkodno obliko, ki se izvaja v posebni virtualni napravi, povezani z aplikacijo v obliki knjižnice. JIT omogoča generiranje strojne kode v realnem času in znatno pospeši izvajanje Guile-aplikacij (testi poz pokazali do 4-kratno pospešitev). JIT-prevajalnik podpira delovanje na arhitekturah x86-64, i686, ARMv7 in AArch64.
Nekatere druge izboljšave:
- Podpora novi specifikaciji jezika Scheme in določenim knjižničnim modulom v njej;
- V virtualni napravi Guile je implementirana podpora za nizko-nivojski bajtkod, kar omogoča uporabo naprednih optimizacij;
- Podpora združevanju notranjih define-definicij in izrazov (na primer, «(define _ (begin (foo) #f))»);
- Predlagana je enotna implementacija strukturiranih podatkovnih tipov («records»);
- Primitivi za obravnavo izjem (throw in catch) so bili prenovljeni;
- Določeni so bili binidi za razširjeno sintakso «else», «=>», «...», in «_»;
- V http-request, http-get in drugih povezanih postopkih s spletnim odjemalcem je bila dodana možnost prenosa vsebine preko šifriranega komunikacijskega kanala z uporabo TLS z ustrezno preverjanjem potrdil.
Izvor: opennet.ru
