Rilascio di Nim 1.2.0

È disponibile una nuova versione del linguaggio di programmazione di sistema Nim. Presenta alcune incompatibilità parziali con la versione 1.0, ad esempio a causa di una conversione dei tipi più rigorosa. Tuttavia, esiste un flag per questo —useVersion:1.0.

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

  • Il compilatore ora supporta l'opzione —asm per facilitare lo studio del codice assembly generato.
  • Il pragma align può essere utilizzato per variabili e campi di oggetti, simile a alignas in C/C++.
  • =sink è ora un operatore opzionale. Il compilatore può ora utilizzare una combinazione di =destroy e copyMem per uno spostamento efficiente degli oggetti.
  • Le conversioni a numeri interi senza segno non vengono verificate a runtime. Maggiori dettagli in https://github.com/nim-lang/RFCs/issues/175
  • Una nuova sintassi per lvalue: var b {.byaddr.} = expr, attivabile tramite import std/decls
  • Il compilatore supporta una nuova chiave —panics:on, che trasforma errori a runtime come IndexError o OverflowError in errori fatali, che non possono essere catturati tramite try. Questo può migliorare l'efficienza a runtime e la dimensione del programma.
  • Il codice JS generato utilizza solo spazi al posto della mescolanza di spazi e tabulazioni.
  • Il compilatore ora include il supporto per il pragma .localPassc, che consente di gestire opzioni speciali del backend C(++) per il file C(++) generato dall'attuale modulo Nim.
  • Nimpretty ora non accetta argomenti negativi per la configurazione dell'indentazione, poiché ciò causava problemi ai file.
  • Sono stati aggiunti nuovi macro (collect, dup, capture), attivabili tramite import sugar.

Inoltre, sono stati aggiunti numerosi cambiamenti alla libreria standard e molte correzioni di bug.

Fonte: linux.org.ru

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