GNU Guile 3.0 je bil izdan

potekala sprostitev GNU Guile 3.0, brezplačna implementacija funkcionalnega programskega jezika Shema, ki podpira možnost vdelave kode v aplikacije v drugih programskih jezikih. Guile se lahko uporablja kot jezik za razvoj razširitev aplikacije, definiranje konfiguracije ali razvoj komponent za povezovanje različnih primitivov, ki jih ponuja aplikacija. Guile je uradni razvojni jezik razširitev za operacijski sistem GNU.

Srce Guile je učinkovit virtualni stroj, ki izvaja prenosljiv nabor navodil, ki jih generira poseben prevajalnik za optimizacijo. Virtualni stroj Guile se zlahka integrira z aplikacijsko kodo v C in C++. Poleg jezika Scheme, za katerega je implementirana specifikacijska podpora R5RS, R6RS и R7RS, je projekt Guile razvil prevajalnike za druge jezike, kot so ECMAScript, Emacs Lisp in Lua (v razvoju). Paket vključuje knjižnico modulov, ki izvajajo standardne storitvene funkcije, kot je delo s protokolom HTTP, razčlenjevanje XML in uporaba metod objektno usmerjenega programiranja.

Ključna novost v GNU Guile 3.0 je bila uvedba JIT prevajalnika, poleg prej ponujenega tolmača in prevajalnika bajtne kode, ki se izvaja v posebnem virtualnem stroju, vezanem na aplikacijo v obliki knjižnice. JIT vam omogoča sprotno generiranje strojne kode in znatno pospeši izvajanje aplikacij Guile (testi kažejo pospešitev do 4-krat). Prevajalnik JIT podpira arhitekture x86-64, i686, ARMv7 in AArch64.

Nekaj ​​drugih izboljšav:

  • Podpora za novo specifikacijo jezika Scheme R7RS in moduli knjižnice, definirani v njem;
  • Virtualni stroj Guile zagotavlja podporo za bajtno kodo nižje ravni, kar omogoča napredne optimizacije;
  • Podpora za kombiniranje notranjih definicij in izrazov (na primer "(define _ (begin (foo) #f))");
  • Predlaga se poenotena izvedba strukturiranega podatkovnega tipa (»zapisi«);
  • Primitive za obravnavanje izjem (met in ulov) so bile predelane;
  • Določene vezave za razširjeno sintakso "else", "=>", "..." in "_";
  • Pri http-request, http-get in drugih postopkih, povezanih s spletnim odjemalcem, je dodana možnost prenosa vsebin preko šifriranega komunikacijskega kanala z uporabo TLS s pravilnim preverjanjem certifikata.

Vir: opennet.ru

Dodaj komentar