Vyšla GNU Guile 3.0

odehrál se uvolnění GNU Guile 3.0, bezplatná implementace funkcionálního programovacího jazyka Systém, který podporuje možnost vkládat kód do aplikací v jiných programovacích jazycích. Guile lze použít jako jazyk pro vývoj aplikačních rozšíření, definování konfigurace nebo vývoj komponent pro propojení různých primitiv poskytovaných aplikací. Guile je oficiální jazyk pro vývoj rozšíření pro operační systém GNU.

Srdcem Guile je účinný virtuální stroj, který provádí přenosnou sadu instrukcí generovaných speciálním optimalizačním kompilátorem. Virtuální stroj Guile se snadno integruje s kódem aplikace v C a C++. Kromě jazyka Scheme, pro který je implementována podpora specifikací R5RS, R6RS и R7RS, projekt Guile vyvinul kompilátory pro další jazyky, jako je ECMAScript, Emacs Lisp a Lua (ve vývoji). Balíček obsahuje knihovnu modulů, které implementují standardní servisní funkce, jako je práce s protokolem HTTP, parsování XML a použ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 bytecode, spouštěného ve speciálním virtuálním stroji vázaném na aplikaci ve formě knihovny. JIT umožňuje generovat strojový kód za chodu a výrazně zrychluje provádění Guile aplikací (testy ukazují zrychlení až 4x). Kompilátor JIT podporuje architektury x86-64, i686, ARMv7 a AArch64.

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

  • Podpora pro novou specifikaci jazyka Scheme R7RS a knihovní moduly v něm definované;
  • Virtuální stroj Guile poskytuje podporu pro bajtkód nižší úrovně, což umožňuje pokročilé optimalizace;
  • Podpora pro kombinování interních definic a výrazů (například "(define _ (begin (foo) #f))");
  • Navrhuje se jednotná implementace strukturovaného datového typu („záznamy“);
  • Primitiva zpracování výjimek (hoď a chyť) byla přepracována;
  • Definované vazby pro rozšířenou syntaxi "else", "=>", "..." a "_";
  • V http-request, http-get a dalších procedurách souvisejících s webovým klientem byla přidána možnost stahovat obsah přes šifrovaný komunikační kanál pomocí TLS se správným ověřením certifikátu.

Zdroj: opennet.ru

Přidat komentář