Rilascio Nim 1.2.0

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

L'innovazione principale è un nuovo garbage collector, abilitato dall'opzione -gc:arc. L'autore del linguaggio, Andreas Rumpf, scriverà un articolo dettagliato sui vantaggi di ARC, ma per ora vi invita a leggere con la sua esibizione al FOSDEM, che mostra i risultati del benchmark.

  • Il compilatore ora supporta l'opzione --asm per un esame più pratico del codice assembly prodotto.
  • Il pragma align può essere utilizzato su variabili oggetto e campi, è simile agli alignas in C/C++.
  • L'operatore =sink è ora facoltativo. Il compilatore ora può utilizzare una combinazione di =destroy e copyMem per spostare gli oggetti in modo efficiente.
  • Le conversioni in numeri interi senza segno non vengono controllate in fase di esecuzione. Dettagli dentro https://github.com/nim-lang/RFCs/issues/175
  • Nuova sintassi per lvalue: var b {.byaddr.} = expr, connesso tramite import std/decls
  • Il compilatore supporta una nuova opzione -panics:on, che trasforma gli errori di runtime come IndexError o OverflowError in errori fatali che non possono essere rilevati tramite try. Ciò può migliorare l'efficienza del runtime e le dimensioni del programma.
  • Il codice JS generato utilizza solo spazi invece di un miscuglio di spazi e tabulazioni.
  • Il compilatore ha aggiunto il supporto per il pragma .localPassc, che può essere utilizzato per gestire speciali opzioni di backend C(++) per un file C(++) generato dal modulo Nim corrente.
  • Nimpretty non accetta più un argomento negativo per l'impostazione del rientro, poiché ciò danneggiava i file.
  • Sono state aggiunte nuove macro (collect, dup, capture), collegate tramite import sugar.

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

Fonte: linux.org.ru

Aggiungi un commento