Ka është i disponueshëm një version i ri i gjuhës së programimit OCaml 4.14.2, që mbështet konceptet e programimit funksional, imperativ dhe objekt-orientuar, dhe është fokusuar në krijimin e programeve të sigurta dhe të besueshme. Gjuha aplikon tipizimin statik, mbledhjen e mbeturinave, tipet që parandalojnë mbushjen e tamponëve, kontrollin dhe analizën statike në fazën e përpunimit. Kodi i mjetit për gjuhën OCaml shpërndahet nën licencën LGPL.
Ndryshimet në versionin e ri:
- NĂ« ambientin e ekzekutimit:
- Shtuar prototipat në definicionet dhe deklaratat në stilin e funksioneve C.
- Për primitivat përdoren prototipa të rreptë.
- Për macOS, është ndalur përdorimi i «-flat-namespace».
- Siguruar kontrolli që Bool_val(v) të ketë tipin bool në C++;
- Në sistemin e ndërtimit:
- Lejohet përdorimi i një rruge me hapësira si gojë për instalim.
- Për OpenBSD >= 7.3, gjatë lidhjes është aktivizuar flag-u «-no-execute-only».
- Lejohet që seksionet e kodit të mbeten të lexueshme. Kjo është e nevojshme për marshalimin e mbylljeve.
- Ndërprerë integrimin e rrjedhës së kontrollit për OpenBSD >= 7.4 për të eliminuar problemet me instrukcionet e paligjshme në disa CPU.
- Korrigjimet e gabimeve:
- Gjatë llogaritjes së mesazheve të larta për gabime për aplikacione funksionale dhe inkluzione, nuk shtohen barazitete jo konsistente.
- Korrigjimi i përpunimit të pasaktë të injektivitetit për tipet private rekurzive.
- Korrigjimi i përjashtimit të papranuar Ctype.Escape në disa programe të pasakta që formojnë tipe rekurzive.
- Korrigjimi i compact_allocate për të evituar raste patologjike që sjellin kompresim shumë të ngadalshëm.
- Aktivizimi automatik i fma tĂ« emuluar pĂ«r Visual Studio 2019+, duke lejuar konfigurimin ose me CPU tĂ« pre-Haswell/pre-Piledriver ose tĂ« ekzekutojĂ« nĂ« VirtualBox. Rishikuar paritetin me portet e tjera Windows, tani nuk Ă«shtĂ« e nevojshme tĂ« specifikohet shprehimisht opsioni «âenable-imprecise-c99-float-ops».
- Korrigjimi në caml_unregister_frametable.
- Riinicializimi më i arsyeshëm i mutex-ëve të I/O pas fork().
- Eliminimi i ndarjes së përmasave të tabelës së kadrove në sisteme amd64 BSD (OpenBSD, FreeBSD, NetBSD) që dëmton mbështetjen pas vendosjes.
- Korrigjimi i fix-modulo-cons për kompilimin e shprehjeve «try-with», «&&» dhe «||».
- Ndërtimi i drejtpërdrejtë i skedarëve ekzekutivë jo-PIE në arkitekturën 32-bit x86.
- Korrigjimi i problemit me moskalimin e bibliotekave të përsëritura për lidhësin gjatë kompilimit të ocamlc.opt dhe gjatë përdorimit të systhread.
Burimi: opennet.ru
