GNU Guile 3.0 har sett dagens ljus

HÀndelse genomförd utgivning GNU Guile 3.0, en fri implementation av programmeringssprÄket Scheme, som stöder möjligheten att integrera kod i applikationer skrivna i andra programmeringssprÄk. Guile kan anvÀndas som ett sprÄk för att utveckla tillÀgg för applikationer, definiera konfigurationer eller utveckla komponenter för att kommunicera mellan olika primitiva funktioner som applikationen tillhandahÄller. Guile Àr det officiella sprÄk för utveckling av tillÀgg för GNU-operativsystemet.

Grunden i Guile utgörs av en effektiv virtuell maskin som kör en portabel uppsÀttning instruktioner som genereras av en sÀrskild optimerande kompilator. Guile's virtuella maskin integreras lÀtt med kod frÄn applikationer skrivna i C och C++. Förutom sprÄket Scheme, för vilket stöd för specifikationerna R5RS, R6RS och R7RS, har projektet Guile Àven utvecklat kompilatorer för andra sprÄk som ECMAScript, Emacs Lisp och Lua (i utveckling). Paketet innehÄller ett bibliotek av moduler som implementerar typiska tjÀnstefunktioner, som arbete med HTTP-protokollet, XML-parsing och anvÀndning av objektorienterade programmeringsmetoder.

En nyckelfunktion i GNU Guile 3.0 Àr introduktionen av JIT-kompilatorn, utöver de tidigare erbjudna tolkaren och kompilatorn till bytekod som körs i en speciell virtuell maskin som binds till applikationen i form av ett bibliotek. JIT möjliggör generering av maskinkod i realtid och ökar avsevÀrt prestandan för Guile-applikationer (tester visar en hastighetsökning pÄ upp till 4 gÄnger). JIT-kompilatorn stödjer arbete pÄ arkitekturerna x86-64, i686, ARMv7 och AArch64.

NÄgra av de andra förbÀttringarna:

  • Stöd för den nya specifikationen av sprĂ„ket Scheme R7RS och de bibliotek moduler som definieras i den;
  • Den virtuella maskinen i Guile implementerar ett mer lĂ„gnivĂ„-byte som möjliggör utökade optimeringar;
  • Stöd för att kombinera interna define-definitioner och uttryck (t.ex. «(define _ (begin (foo) #f))»);
  • En enhetlig implementation av strukturerade datatyper («records») har föreslagits;
  • Primitiverna för hantering av undantag (throw och catch) har omarbetats;
  • Bindings har definierats för den utökade syntaxen «else», «=>», « » och «_»;
  • I http-request, http-get och andra relaterade webblĂ€sarprocedurer har möjligheten att ladda upp innehĂ„ll via en krypterad kommunikationskanal med TLS med korrekt certVerifiering lagts till.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster