GNU Guile 3.0 kaleratu zen

ospatu askatu GNU Guile 3.0, programazio-lengoaia funtzional baten doako inplementazioa eskema, beste programazio-lengoaia batzuetako aplikazioetan kodea txertatzeko gaitasuna onartzen duena. Guile hizkuntza gisa erabil daiteke aplikazioaren luzapenak garatzeko, konfigurazioa definitzeko edo aplikazioak emandako hainbat primitibo konektatzeko osagaiak garatzeko. Guile GNU sistema eragilearen luzapenen garapen hizkuntza ofiziala da.

Guile-ren muinean makina birtual eraginkor bat dago, optimizazio-konpilatzaile berezi batek sortutako argibide-multzo eramangarri bat exekutatzen duena. Guile makina birtuala erraz integratzen da C eta C++-ko aplikazio-kodearekin. Scheme hizkuntzaz gain, zehaztapenen euskarria ezartzen baita R5RS, R6RS ΠΈ R7RS, Guile proiektuak beste hizkuntza batzuetarako konpilatzaileak garatu ditu, hala nola ECMAScript, Emacs Lisp eta Lua (garapenean). Paketeak zerbitzu-funtzio estandarrak ezartzen dituzten moduluen liburutegia barne hartzen du, hala nola HTTP protokoloarekin lan egitea, XML analizatzea eta objektuetara zuzendutako programazio metodoak erabiltzea.

GNU Guile 3.0-n funtsezko berrikuntza JIT konpiladore bat sartzea izan zen, aurrez eskainitako interpreteaz eta bytecode konpilatzaileaz gain, aplikazioari loturiko makina birtual berezi batean exekutatua liburutegi moduan. JIT-ek makina-kodea berehala sortzeko aukera ematen du eta Guile aplikazioen exekuzioa nabarmen bizkortzen du (probek 4 aldiz abiadura erakusten dute). JIT konpilatzaileak x86-64, i686, ARMv7 eta AArch64 arkitekturak onartzen ditu.

Beste hobekuntza batzuk:

  • Scheme hizkuntzaren zehaztapen berrirako laguntza R7RS eta bertan definitutako liburutegiko moduluak;
  • Guile makina birtualak behe-mailako bytecoderako laguntza eskaintzen du, optimizazio aurreratuak ahalbidetuz;
  • Barne definizioak eta esamoldeak konbinatzeko laguntza (adibidez, "(defini _ (hasi (foo) #f))");
  • Datu-mota egituratu baten ezarpen bateratua ("erregistroak") proposatzen da;
  • Salbuespenak kudeatzeko primitiboak (bota eta harrapatzen) berritu dira;
  • "Else", "=>", "..." eta "_" sintaxi hedatuaren loturak definitu dira;
  • http-request, http-get eta web-bezeroarekin lotutako beste prozeduretan, TLS erabiliz enkriptatutako komunikazio-kanal baten bidez edukia deskargatzeko gaitasuna gehitu da, ziurtagiri egiaztapen zuzenarekin.

Iturria: opennet.ru

Gehitu iruzkin berria