GNU Guile 3.0 julkaistiin

tapahtui vapauta GNU Guile 3.0, toiminnallisen ohjelmointikielen ilmainen toteutus ohjelma, joka tukee kykyä upottaa koodia muiden ohjelmointikielien sovelluksiin. Guilea voidaan käyttää kielenä sovelluslaajennusten kehittämiseen, konfiguraatioiden määrittämiseen tai komponenttien kehittämiseen sovelluksen tarjoamien eri primitiivien yhdistämiseen. Guile on virallinen laajennuskehityskieli GNU-käyttöjärjestelmälle.

Guilen ytimessä on tehokas virtuaalikone, joka suorittaa kannettavan ohjesarjan, joka on luotu erityisen optimoivan kääntäjän avulla. Guile-virtuaalikone integroituu helposti C- ja C++-sovelluskoodiin. Scheme-kielen lisäksi, jolle määrittelytuki on toteutettu R5RS, R6RS и R7RS, Guile-projekti on kehittänyt kääntäjiä muille kielille, kuten ECMAScriptille, Emacs Lispille ja Lualle (kehitellään). Paketti sisältää kirjaston moduuleita, jotka toteuttavat standardipalvelutoimintoja, kuten HTTP-protokollan kanssa työskentelyn, XML-jäsennyksen ja olio-ohjelmointimenetelmien käytön.

Keskeinen innovaatio GNU Guile 3.0:ssa oli JIT-kääntäjän käyttöönotto aiemmin tarjotun tulkin ja tavukoodikääntäjän lisäksi, joka suoritettiin erityisessä virtuaalikoneessa, joka on sidottu sovellukseen kirjaston muodossa. JIT mahdollistaa konekoodin luomisen lennossa ja nopeuttaa merkittävästi Guile-sovellusten suorittamista (testit osoittavat nopeutta jopa 4 kertaa). JIT-kääntäjä tukee x86-64-, i686-, ARMv7- ja AArch64-arkkitehtuuria.

Muutamia muita parannuksia:

  • Tuki uudelle Scheme-kielispesifikaatiolle R7RS ja siinä määritellyt kirjastomoduulit;
  • Guile-virtuaalikone tukee alemman tason tavukoodia, mikä mahdollistaa edistyneen optimoinnin;
  • Tuki sisäisten määritelmien ja lausekkeiden yhdistämiselle (esimerkiksi "(define _ (begin (foo) #f))");
  • Strukturoidun tietotyypin ("tietueet") yhtenäistä toteutusta ehdotetaan;
  • Poikkeuskäsittelyn primitiivit (heitto ja kiinni) on muokattu;
  • Määritellyt sidokset laajennetulle syntaksille "else", "=>", "..." ja "_";
  • http-pyyntö-, http-get- ja muihin web-asiakkaaseen liittyviin toimenpiteisiin on lisätty mahdollisuus ladata sisältöä salatun viestintäkanavan kautta TLS:n avulla oikean varmenteen vahvistuksen kanssa.

Lähde: opennet.ru

Lisää kommentti