Versione di u linguaghju di prugrammazione Nim 2.2.8

Nim 2.2.8, un linguaghju di prugrammazione di sistemi, hè statu publicatu. Nim hè un linguaghju di prugrammazione compilatu è tippatu staticamente cù una sintassi ispirata da Python è capacità di metaprogrammazione simili à Lisp. Si compila in C, C++ è JavaScript, furnendu prestazioni di livellu C cù l'espressività di i linguaggi di altu livellu. U codice di u prugettu hè licenziatu sottu a licenza MIT.

E caratteristiche di Nim includenu un sistema di macro chì opera nantu à l'AST à u mumentu di a compilazione, supportu per a prugrammazione generica cù cuncetti, dispatch multiplu, gestione deterministica di a memoria cù supportu per strategie multiple (ARC/ORC, refc, mark-and-sweep), supportu async/await integratu per a prugrammazione asincrona, è FFI per una facile integrazione cù C/C++/JavaScript. Nim hè pusizionatu cum'è un linguaghju di sistema adattatu per u sviluppu da sistemi embedded à web.servitori, cù un enfasi nantu à l'efficienza, a sicurezza di a memoria è a cunvenienza di u sviluppatore.

A versione 2.2.8 hè ghjunta quattru mesi dopu à a versione 2.2.6 è include 89 commit cù correzioni di bug è miglioramenti. U miglioramentu principale di a versione hè un aumentu significativu di a stabilità di l'allocatore di memoria predefinitu quandu si usa attivamente u multithreading. Sicondu i sviluppatori, a necessità di a suluzione "-d:useMalloc" per u codice multithreading hè una cosa di u passatu. L'utilizatori sò incuraghjiti à furnisce feedback.

Trà i bug curretti:

  • SIGBUS quandu si itereghja nantu à una tavula custante per via di a distruzzione prematura di l'uggetti tempuranei;
  • SIGSEGV cù iteratori finali;
  • Generazione di codice C incorretta durante l'inizializazione di .global in un metudu;
  • trasfurmazione di l'errore infine in a chjusura di l'iteratore cù try..except;
  • Manghjuscazione incorretta di u nome in stile C++ quandu si usa --debuginfo;
  • setLen hè lentu quandu si diminuisce a dimensione di a sequenza per via di un svuotamentu eccessivu di a memoria;
  • mancanza di setLenUninit per u modu "—mm:refc";
  • U prucessu di riscrittura di termini si blocca nantu à i fugliali di grande dimensione;
  • SIGSEGV quandu si utilizanu tipi distinti cù assignazione à oggetti di heap in modalità refc;
  • Accessu incorrectu à m_type in hooks per tipi distinti generichi sottu ARC/ORC/ATOMICARC;
  • Crash di u compilatore quandu si passa una tupla cù "items" da u cuncettu;
  • I cuncetti recursivi anu causatu un segmentfault di u compilatore;
  • Generazione incorretta di richieste HTTPS via proxy HTTP in httpclient;
  • cumpurtamentu indefinitu in l'operazione shl;
  • truncà i valori interi longhi senza preavvisu;
  • U compilatore si blocca cù un numeru d'istanziazioni generiche incorrette;
  • modu aghjuntu —styleCheck:warn.

Source: opennet.ru

Cumprate un hosting affidabile per i siti cù prutezzione DDoS, servitori VPS VDS 🔥 Cumprate un hosting di siti web affidabile cù prutezzione DDoS, servitori VPS VDS | ProHoster