Rilascio Nim 1.2.0

È stata rilasciata una nuova versione del linguaggio di programmazione di sistema Nim. Presenta una parziale incompatibilità con la versione 1.0, per esempio, a causa di una conversione dei tipi più rigorosa. Ma per questo c'è un flag —useVersion:1.0.

La principale novità è un nuovo garbage collector, attivabile tramite l'opzione —gc:arc. L'autore del linguaggio, Andreas Rumpf, intende scrivere un articolo dettagliato sui vantaggi di ARC, ma nel frattempo propone di informarsi sul suo intervento a FOSDEM, dove sono mostrati i risultati dei benchmark.

  • Il compilatore ora supporta l'opzione —asm per uno studio più facile del codice assembly generato.
  • La pragma align può essere utilizzata per variabili e campi di oggetti, somiglia a alignas in C/C++.
  • =sink è ora un operatore opzionale. Il compilatore può ora utilizzare una combinazione di =destroy e copyMem per spostare oggetti in modo efficiente.
  • Le conversioni in numeri interi non firmati non vengono verificate a runtime. Maggiori dettagli in https://github.com/nim-lang/RFCs/issues/175
  • Una nuova sintassi per gli lvalue: var b {.byaddr.} = expr, attivabile tramite import std/decls
  • Il compilatore supporta una nuova chiave —panics:on, che trasforma gli errori di runtime come IndexError o OverflowError in errori fatali, che non possono essere catturati tramite try. Questo può migliorare l'efficienza del runtime e la dimensione del programma.
  • Il codice JS generato utilizza solo spazi bianchi al posto di una miscela di spazi e tabulazioni.
  • Supporto per la pragma .localPassc è stato aggiunto al compilatore, che permette di gestire opzioni speciali del backend C(++) per il file C(++) generato dal modulo Nim corrente.
  • Nimpretty ora non accetta argomenti negativi per la configurazione dei rientri, poiché questo causava problemi ai file.
  • Sono stati aggiunti nuovi macro (collect, dup, capture), attivabili tramite import sugar.

Inoltre, sono state aggiunte numerose modifiche alla libreria standard e molte correzioni di bug.

Fonte: linux.org.ru

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