Uscita del linguaggio di programmazione OCaml 4.14.2

È disponibile una nuova versione del linguaggio di programmazione OCaml 4.14.2, che supporta concetti di programmazione funzionale, imperativa e orientata agli oggetti, ed è progettato per creare programmi sicuri e affidabili. Il linguaggio utilizza tipizzazione statica, raccolta dei rifiuti, tipi che evitano il buffer overflow, verifica e analisi statica durante la compilazione. Il codice sorgente per il linguaggio OCaml è distribuito con licenza LGPL.

Modifiche nella nuova versione:

  • Nell'ambiente di esecuzione:
    • Aggiunti prototipi alle definizioni e dichiarazioni in stile funzioni-C.
    • Sono stati utilizzati prototipi rigorosi per i primitivi.
    • Per macOS è cessato l'uso di «-flat-namespace».
    • È stata garantita la verifica che Bool_val(v) abbia tipo bool in C++;
  • Nel sistema di build:
    • Consentito l'uso di percorsi con spazi come obiettivi di installazione.
    • Per OpenBSD >= 7.3, durante la linkaggio è stato utilizzato il flag «-no-execute-only».
    • È consentito ai segmenti di codice di rimanere leggibili. Questo è necessario per il marshalling di chiusure.
    • Disattivata l'integrazione del flusso di controllo per OpenBSD >= 7.4 per correggere errori con istruzioni non valide su alcune CPU.
  • Errori corretti:
    • Durante il calcolo dei messaggi di errore ad alto livello per applicazioni di funzioni e inclusioni, non vengono aggiunte uguaglianze inconsistenti.
    • Correzione della gestione errata dell'injectività per tipi ricorsivi privati.
    • Correzione dell'eccezione non gestita Ctype.Escape in alcuni programmi errati che generano tipi ricorsivi.
    • Correzione di compact_allocate per gestire casi patologici che portano a una compressione molto lenta.
    • Abilitazione automatica di fma emulato per Visual Studio 2019+, che consente di eseguire configurazioni sia con CPU pre-Haswell/pre-Piledriver o di avviare esecuzioni in VirtualBox. Ripristinato il parità con altri porting per Windows, ora non è richiesta l'indicazione esplicita dell'opzione "—enable-imprecise-c99-float-ops".
    • Correzione in caml_unregister_frametable.
    • Reinizializzazione più ragionevole dei mutex I/O dopo fork().
    • Correzione della dimensione della tabella dei frame che compromette la retrocompatibilità nei sistemi amd64 BSD (OpenBSD, FreeBSD, NetBSD).
    • Correzione del fix-modulo-cons nella compilazione delle espressioni "try-with", "&&" e "||".
    • Compilazione esplicita di file eseguibili non-PIE su architetture x86 a 32 bit.
    • Risolta la questione dell'inesistenza di librerie duplicate per il linker durante la compilazione di ocamlc.opt e nell'uso di systhread.

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster