kiadás , a funkcionális programozási nyelv szabad megvalósítása , amely támogatja a kód beágyazását más programozási nyelvek alkalmazásaiba. A Guile használható kiterjesztések fejlesztésére, konfigurációk meghatározására vagy különböző primitívek összekapcsolására az alkalmazás által biztosítottak számára. A Guile a GNU operációs rendszer hivatalos kiterjesztési fejlesztési nyelve.
A Guile alapját egy hatékony virtuális gép képezi, amely egy hordozható utasításkészletet hajt végre, amelyet speciális optimalizáló fordító generál. A Guile virtuális gép könnyen integrálható C és C++ nyelven írt alkalmazások kódjával. A Scheme nyelv mellett, amelyhez a specifikációk támogatása megvalósult, , és , a Guile projekt keretein belül más nyelvek, például ECMAScript, Emacs Lisp és Lua (fejlesztés alatt) fordítói is készültek. A csomagban modul könyvtár található, amelyben tipikus szolgáltató funkciók valósulnak meg, mint például HTTP protokoll kezelése, XML elemzés és az objektum-orientált programozás módszereinek alkalmazása.
A GNU Guile 3.0-ban a legfontosabb újítás a JIT fordító megjelenése volt, a korábban felkínált értelmező és a könyv kódra történő fordító, amely külön virtuális gépben fut az alkalmazás számára könyvtár formájában. A JIT lehetővé teszi a gépi kód valós idejű generálását, ami jelentősen felgyorsítja a Guile alkalmazások futtatását (tesztek szerint akár 4szeres gyorsulást mutatnak). A JIT fordító támogatja az x86-64, i686, ARMv7 és AArch64 architektúrákon való működést.
Néhány további fejlesztés:
- A Scheme nyelv új specifikációjának támogatása és az abban meghatározott könyvtári modulok;
- A Guile virtuális gépén megvalósult egy alacsonyabb szintű bájtkód támogatása, amely lehetővé teszi a kiterjedt optimalizálások alkalmazását;
- A belső define-definíciók és kifejezések (például: «(define _ (begin (foo) #f))») kombinálásának támogatása;
- Egy egységesített megvalósítás javasolt strukturált adatok («records») típusaihoz;
- Az exception kezelési primitívek (throw és catch) át lettek dolgozva;
- Befogadó szintaxis definíciók az «else», «=>», «…» és az «_» jelölésekhez;
- A http-request, http-get és más, a webkliensekkel kapcsolatos eljárások során lehetőség nyílt a tartalom titkosított kapcsolatán keresztüli letöltésére TLS használatával, a tanúsítványok helyes ellenőrzésével.
Forrás: opennet.ru
