Na světlo se dostal GNU Guile 3.0

Proběhlo vydání GNU Guile 3.0, svobodné implementace funkcionálního programovacího jazyka Schéma, podporujícího možnost vkládání kódu do aplikací v jiných programovacích jazycích. Guile může být použit jako jazyk pro vývoj rozšíření pro aplikace, definování konfigurace nebo vývoj komponent pro propojení různých primitiv poskytovaných aplikací. Guile je oficiálním jazykem pro vývoj rozšíření pro operační systém GNU.

Základem Guile je efektivní virtuální stroj, který vykonává přenositelnou sadu instrukcí generovanou speciálním optimalizujícím kompilátorem. Virtuální stroj Guile se snadno integruje s kódem aplikací napsaných v jazycích C a C++. Kromě jazyka Scheme, pro který je implementována podpora specifikací R5RS, R6RS a R7RS, v rámci projektu Guile byly vyvinuty kompilátory i pro další jazyky, jako jsou ECMAScript, Emacs Lisp a Lua (ve fázi vývoje). Součástí balíčku je knihovna modulů, ve které jsou implementovány typové servisní funkce, jako je práce s protokolem HTTP, parsování XML a využití metod objektově orientovaného programování.

Klíčovou novinkou v GNU Guile 3.0 bylo zavedení JIT-kompilátoru, kromě dříve nabízeného interpretu a kompilátoru do bytového kódu, vykonávaného ve speciálním virtuálním stroji, který je připojen k aplikaci ve formě knihovny. JIT umožňuje generovat strojový kód za běhu a výrazně zrychluje provádění aplikací Guile (testy ukazují zrychlení až 4x). JIT-kompilátor podporuje práci na architekturách x86-64, i686, ARMv7 a AArch64.

Některá z dalších vylepšení:

  • Podpora nové specifikace jazyka Scheme R7RS a specifických knihovních modulů v ní;
  • Ve virtuálním stroji Guile byla implementována podpora nízkoúrovňového bytového kódu, což umožňuje aplikaci pokročilých optimalizací;
  • Podpora kombinace vnitřních define-definic a výrazů (například „(define _ (begin (foo) #f))“);
  • Byla navržena unifikovaná implementace strukturovaného typu dat („records“);
  • Byly přepracovány primitivy pro zpracování výjimek (throw a catch);
  • Byly definovány vazby pro rozšířenou syntaxi „else“, „=>“, „…“ a „_“;
  • V http-request, http-get a dalších souvisejících postupech s webovým klientem byla přidána možnost načítání obsahu prostřednictvím šifrovaného kanálu s využitím TLS a správnou verifikací certifikátů.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster