Liberazione di a lingua di prugrammazione Nim 1.2.0

Intruduttu liberazione di lingua di prugrammazione di u sistema Nim 1.2. A lingua Nim usa typing static è hè stata creata cun un ochju nantu à Pascal, C++, Python è Lisp. U codice fonte Nim hè cumpilatu in una rappresentazione C, C++ o JavaScript. In seguitu, u còdice C/C++ risultante hè cumpilatu in un schedariu eseguibile cù qualsiasi compilatore dispunibule (clang, gcc, icc, Visual C++), chì vi permette di ottene prestazioni vicinu à C, se ùn tenete micca in contu i costi di esecuzione. u cullettore di l'immondizia. Simile à Python, Nim usa l'indentazione cum'è delimitatori di blocchi. Strumenti di metaprogrammazione è capacità per creà lingue specifiche di u duminiu (DSL) sò supportati. Codice di prughjettu furnitu sottu a licenza MIT.

I cambiamenti notevuli in a nova versione includenu:

  • Implementatu un novu cullettore di basura ARC ("-gc: arc").
  • In u modulu "zùccaru"Aghjuntu novi macros raccoglie, dup è catturà.
  • Aggiunta una nova macro "cun".
  • Una grande parte di e novi chjamate sò state aghjunte à a biblioteca standard, cumprese strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, times.fromUnixFloat, os.isRelativeTo, times.isLeapDay. , net.getPeerCertificates, jsconsole.trace, jsconsole.table, jsconsole.exception, sequtils.countIt, etc.
  • Aggiunti novi moduli std/stackframes è std/compilesettings.
  • L'opzioni "-asm" (per l'analisi di u codice di l'assemblea generatu) è "-panics: on" per l'uscita forzata nantu à l'errori IndexError è OverflowError sò stati aghjunti à u compilatore, senza a pussibilità di esse interceptatu da u gestore "try".
  • Rilevazione mejorata di pussibuli buffer overflows.

Source: opennet.ru

Add a comment