Nim 1.2.0 izdanje

Objavljena je nova verzija Nim sistemskog programskog jezika. Ima djelomičnu nekompatibilnost s verzijom 1.0, na primjer zbog strože konverzije tipa. Ali u ovom slučaju postoji zastavica -useVersion:1.0.

Glavna inovacija je novi sakupljač smeća, omogućen opcijom -gc:arc. Autor jezika, Andreas Rumpf, će napisati detaljan članak o prednostima ARC-a, ali za sada vas poziva da pročitate sa svojim nastupom na FOSDEM-u, koji prikazuje rezultate benčmarka.

  • Kompajler sada podržava --asm opciju za praktičnije ispitivanje proizvedenog asemblerskog koda.
  • Pragma align može se koristiti na objektnim varijablama i poljima, ovo je slično aligns u C/C++.
  • =sink operator je sada opcionalan. Kompajler sada može koristiti kombinaciju =destroy i copyMem za efikasno pomicanje objekata.
  • Konverzije u neoznačene cijele brojeve se ne provjeravaju u vremenu izvođenja. Detalji u https://github.com/nim-lang/RFCs/issues/175
  • Nova sintaksa za lvalue: var b {.byaddr.} = expr, povezan putem import std/decls
  • Kompajler podržava novi prekidač -panics:on, koji pretvara greške izvođenja kao što su IndexError ili OverflowError u fatalne greške koje se ne mogu uhvatiti putem pokušaja. Ovo može poboljšati efikasnost vremena izvođenja i veličinu programa.
  • Generisani JS kod koristi samo razmake umesto mešavine razmaka i tabulatora.
  • Kompajler je dodao podršku za .localPassc pragmu, koja se može koristiti za rukovanje posebnim C(++) pozadinskim opcijama za C(++) fajl koji je generisan iz trenutnog Nim modula.
  • Nimpretty više ne prihvata negativan argument za postavljanje uvlačenja, jer je to razbijanje datoteka.
  • Dodati su novi makroi (collect, dup, capture), povezani preko uvoznog šećera.

Osim toga, u standardnu ​​biblioteku dodane su mnoge promjene i mnoge ispravke grešaka.

izvor: linux.org.ru

Dodajte komentar