Nim 1.2.0 kiadás

Megjelent a Nim rendszerprogramozási nyelv új verziója. Részleges inkompatibilitása van az 1.0-s verzióval, például az erősebb típusátalakítás miatt. De ebben az esetben van egy -useVersion:1.0 jelző.

A fő újítás egy új szemétgyűjtő, amelyet a --gc:arc opció engedélyez. A nyelv szerzője, Andreas Rumpf részletes cikket fog írni az ARC előnyeiről, de egyelőre azt javasolja, hogy olvassa el. FOSDEM-beszédével, amely a benchmark eredményeket mutatja.

  • A fordító mostantól támogatja a --asm opciót, hogy megkönnyítse az elkészített assembler kód vizsgálatát.
  • Az igazítási pragma objektumváltozókon és mezőkön használható, hasonlóan a C/C++ alignákhoz.
  • A =sink operátor most nem kötelező. A fordító mostantól használhatja a =destroy és a copyMem kombinációját az objektumok hatékony mozgatásához.
  • Az előjel nélküli egész számokká konvertálást a rendszer nem ellenőrzi futás közben. Részletek benne https://github.com/nim-lang/RFCs/issues/175
  • Az lvalue új szintaxisa: var b {.byaddr.} = expr, az import std/decls-en keresztül
  • A fordító támogatja az új --panics:on opciót, amely a futásidejű hibákat, mint például az IndexError vagy OverflowError végzetes hibákká változtatja, amelyeket egy próbálkozással nem lehet elkapni. Ez javíthatja a futási idő hatékonyságát és a program méretét.
  • Az előállított JS-kód csak szóközöket használ a szóközök és tabulátorok halmaza helyett.
  • Hozzáadtuk a fordítóhoz a .localPassc pragma támogatását, amellyel speciális C(++) háttérbeállításokat kezelhetünk az aktuális Nim modulból generált C(++) fájlhoz.
  • A Nimpretty már nem fogadja el a negatív érveket a behúzás mellett, mivel ez megszakítaná a fájlokat.
  • Új makrók hozzáadva (gyűjtés, másolás, rögzítés) az importcukoron keresztül csatlakoztatva.

Ezen kívül számos módosítást és számos hibajavítást adtunk hozzá a szabványos könyvtárhoz.

Forrás: linux.org.ru

Hozzászólás