Izdaja Nim 1.2.0

Izšla je nova različica sistemskega programskega jezika Nim. Ima delno nezdružljivost z različico 1.0, na primer zaradi strožje pretvorbe tipov. Toda v tem primeru obstaja zastavica -useVersion:1.0.

Glavna novost je nov zbiralnik smeti, ki ga omogoča možnost -gc:arc. Avtor jezika Andreas Rumpf bo napisal podroben članek o prednostih ARC, zaenkrat pa vas vabi k branju s svojim nastopom na FOSDEM, ki prikazuje rezultate primerjalnih testov.

  • Prevajalnik zdaj podpira možnost --asm za bolj priročno pregledovanje izdelane zbirne kode.
  • Pragmo align lahko uporabite za spremenljivke in polja objekta, to je podobno alignam v C/C++.
  • Operator =sink je zdaj neobvezen. Prevajalnik lahko zdaj uporablja kombinacijo =destroy in copyMem za učinkovito premikanje objektov.
  • Pretvorbe v nepredznačena cela števila se med izvajanjem ne preverjajo. Podrobnosti v https://github.com/nim-lang/RFCs/issues/175
  • Nova sintaksa za lvalue: var b {.byaddr.} = expr, povezano prek import std/decls
  • Prevajalnik podpira novo stikalo -panics:on, ki napake med izvajanjem, kot sta IndexError ali OverflowError, spremeni v usodne napake, ki jih ni mogoče ujeti s poskusom. To lahko izboljša učinkovitost izvajanja in velikost programa.
  • Ustvarjena koda JS uporablja samo presledke namesto mešanice presledkov in zavihkov.
  • Prevajalnik je dodal podporo za pragmo .localPassc, ki jo je mogoče uporabiti za obdelavo posebnih zalednih možnosti C(++) za datoteko C(++), ki je ustvarjena iz trenutnega modula Nim.
  • Nimpretty ne sprejema več negativnega argumenta za nastavitev zamika, saj je to pokvarilo datoteke.
  • Dodani so novi makri (collect, dup, capture), povezani preko uvoznega sladkorja.

Poleg tega so bile v standardno knjižnico dodane številne spremembe in številni popravki napak.

Vir: linux.org.ru

Dodaj komentar