atbrīvot , funkcionālas programmēšanas valodas bezmaksas ieviešana , kas atbalsta iespēju iegult kodu lietojumprogrammās, kas rakstītas citās programmēšanas valodās. Guile var izmantot kā valodu lietojumprogrammu paplašinājumu izstrādei, konfigurācijas definēšanai vai komponentu izstrādei dažādu lietojumprogrammas nodrošināto primitīvu savienošanai. Guile ir oficiālā GNU operētājsistēmas paplašinājumu izstrādes valoda.
Guile pamatā ir efektīva virtuālā mašīna, kas izpilda pārnēsājamu instrukciju kopu, ko ģenerē īpašs optimizējošais kompilators. Guile virtuālā mašīna viegli integrējas ar C un C++ lietojumprogrammu kodu. Papildus Scheme valodai, kurai ir ieviests specifikāciju atbalsts, , и Guile projekts izstrādā arī kompilatorus citām valodām, piemēram, ECMAScript, Emacs Lisp un Lua (izstrādes procesā). Pakotnē ir iekļauta moduļu bibliotēka, kas ievieš kopīgas pakalpojumu funkcijas, piemēram, darbu ar HTTP protokolu, XML parsēšanu un objektorientētas programmēšanas metodes.
Svarīgs GNU Guile 3.0 jauninājums ir tieši laikā (just-in-time — JIT) kompilatora ieviešana papildus iepriekš piedāvātajam interpreteram un baitkoda kompilatoram, kas tiek izpildīts īpašā virtuālajā mašīnā, kura ir saistīta ar lietojumprogrammu kā bibliotēka. JIT nodrošina mašīnkoda ģenerēšanu reāllaikā un ievērojami paātrina Guile lietojumprogrammu izpildi (testi uzrāda paātrinājumu līdz pat 4 reizēm). JIT kompilators atbalsta x86-64, i686, ARMv7 un AArch64 arhitektūras.
Daži citi uzlabojumi:
- Atbalsts jaunajai Scheme valodas specifikācijai un tajā definētie bibliotēkas moduļi;
- Guile virtuālā mašīna ievieš atbalstu zemāka līmeņa baitkodam, kas ļauj veikt uzlabotas optimizācijas;
- Atbalsts iekšējo definīciju un izteiksmju apvienošanai (piemēram, "(define _ (begin (foo) #f))");
- Tiek ierosināta strukturēta datu tipa (“ierakstu”) vienota ieviešana;
- Izņēmumu apstrādes primitīvi (throw un catch) ir pārstrādāti;
- Ir definētas paplašinātās sintakses saistīšanas "else", "=>", "..." un "_";
- Http-request, http-get un citās ar tīmekļa klientu saistītās procedūrās ir pievienota iespēja lejupielādēt saturu, izmantojot šifrētu saziņas kanālu, izmantojot TLS ar pareizu sertifikāta verifikāciju.
Avots: opennet.ru
