Megjelent a GNU Guile 3.0

került sor kiadás GNU Guile 3.0, egy funkcionális programozási nyelv ingyenes megvalósítása Rendszer, amely támogatja a kód beágyazását más programozási nyelvek alkalmazásaiba. A Guile nyelvként használható alkalmazásbővítmények fejlesztésére, konfiguráció meghatározására vagy összetevők fejlesztésére, amelyek összekapcsolják az alkalmazás által biztosított különféle primitíveket. A Guile a GNU operációs rendszer hivatalos bővítményfejlesztési nyelve.

A Guile középpontjában egy hatékony virtuális gép áll, amely egy speciális optimalizáló fordító által generált hordozható utasításkészletet hajt végre. A Guile virtuális gép könnyen integrálható C és C++ alkalmazáskóddal. A Scheme nyelven kívül, amelyhez specifikáció támogatást valósítottak meg R5RS, R6RS и R7RS, a Guile projekt fordítókat fejlesztett ki más nyelvekre is, mint például az ECMAScript, az Emacs Lisp és a Lua (fejlesztés alatt). A csomag olyan modulokat tartalmaz, amelyek szabványos szolgáltatási funkciókat valósítanak meg, mint például a HTTP protokollal való munka, az XML elemzés és az objektumorientált programozási módszerek használata.

A GNU Guile 3.0 kulcsfontosságú újítása a JIT fordító bevezetése volt a korábban kínált interpreter és bájtkód fordító mellett, amely egy speciális, az alkalmazáshoz kötődő virtuális gépen futott könyvtár formájában. A JIT lehetővé teszi gépi kód generálását menet közben, és jelentősen felgyorsítja a Guile alkalmazások végrehajtását (a tesztek akár 4-szeres gyorsulást mutatnak). A JIT fordító támogatja az x86-64, i686, ARMv7 és AArch64 architektúrákat.

Néhány további fejlesztés:

  • Az új Scheme nyelvi specifikáció támogatása R7RS és az abban meghatározott könyvtári modulok;
  • A Guile virtuális gép támogatja az alacsonyabb szintű bájtkódot, lehetővé téve a fejlett optimalizálást;
  • Belső definíciók és kifejezések kombinálásának támogatása (például "(define _ (begin (foo) #f))");
  • Javasolt egy strukturált adattípus („rekordok”) egységes megvalósítása;
  • A kivételkezelési primitívek (dobás és elkapás) át lettek dolgozva;
  • Meghatározott kötések az „else”, „=>”, „...” és „_” kiterjesztett szintaxishoz;
  • A http-request, http-get és egyéb, a webes klienssel kapcsolatos eljárásokhoz hozzáadták a tartalom titkosított kommunikációs csatornán keresztüli letöltésének lehetőségét TLS használatával, megfelelő tanúsítvány-ellenőrzéssel.

Forrás: opennet.ru

Hozzászólás