Vydání programovacího jazyka OCaml 4.14.2

Nový programovací jazyk OCaml 4.14.2 je nyní k dispozici. Podporuje funkcionální, imperativní a objektově orientované programovací koncepty a je zaměřen na vytváření bezpečných a spolehlivých programů. Jazyk využívá statické typování, garbage collection, typy zabraňující přetečení vyrovnávací paměti, kontrolu během kompilace a statickou analýzu. Sada nástrojů OCaml je licencována pod licencí LGPL.

Změny v nové verzi:

  • V běhovém prostředí:
    • Přidány prototypy do definic a deklarací funkcí ve stylu C.
    • Pro primitiva se používají striktní prototypy.
    • pro macOS Používání parametru „-flat-namespace“ bylo ukončeno.
    • Za předpokladu, že Bool_val(v) je typu bool v C++;
  • V systému sestavení:
    • Jako cíl instalace je povoleno použít cestu s mezerami.
    • Pro OpenBSD >= 7.3 je při linkování povolen příznak "-no-execute-only".
    • Umožňuje, aby části kódu zůstaly čitelné. To je nezbytné pro zařazování uzávěrů.
    • Zakázána integrace řídicího toku pro OpenBSD >= 7.4 z důvodu opravy chyb neplatných instrukcí na některých CPU.
  • Opravené chyby:
    • Při výpočtu chybových zpráv na vysoké úrovni pro aplikace s funktory a inkluzí se nekonzistentní rovnosti nepřidávají.
    • Opraveno nesprávné zpracování injektivity pro privátní rekurzivní typy.
    • Oprava nezachycené výjimky Ctype.Escape v některých nesprávných programech generujících rekurzivní typy.
    • Opravena chyba compact_allocate, aby se obešlo bez patologických případů, které vedou k velmi pomalému zhutňování.
    • Automaticky povoluje emulovaný FMA pro Visual Studio 2019+, což umožňuje konfiguraci s procesorem starším než Haswell/Piledriver nebo spuštění ve VirtualBoxu. Parita s ostatními procesory byla obnovena. Windows porty, již není nutné explicitně specifikovat volbu „--enable-imprecise-c99-float-ops“.
    • Oprava v caml_unregister_frametable.
    • Chytřejší reinicializace I/O mutexů po fork().
    • Opravena zpětná alokace velikosti tabulky rámců na systémech amd64 BSD (OpenBSD, FreeBSD, NetBSD).
    • Opravena kompilace výrazů „try-with“, „&&“ a „||“ metodou fix-modulo-cons.
    • Explicitně sestavovat spustitelné soubory jiné než PIE na 32bitových architekturách x86.
    • Opraven problém, kdy linker nepřeskakoval duplicitní knihovny při kompilaci ocamlc.opt a při použití systhread.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster