Ilmudes on uus versioon süsteemsest programmeerimiskeelest Nim. Sellega on osaline ühilduvus versiooniga 1.0, näiteks rangema tüüpide teisendamise tõttu. Kuid selle jaoks on olemas lipp —useVersion:1.0.
Peamine uuendus on uus prügikoristaja, mis aktiveeritakse valikuga —gc:arc. Keel autor Andreas Rumpf kavatseb kirjutada põhjaliku artikli ARC eeliste kohta, kuid seni soovitab ta tutvuda tema ettekandega FOSDEM-il, kus on näidatud tulemustest saadud tulemused.
- Kompilaator toetab nüüd valikut —asm, et muuta genereeritud assemblerikoodi uurimine mugavamaks.
- align pragma-d saab kasutada muutuja ja objekti väljade jaoks, see sarnaneb C/C++ keeles kasutatavale alignas.
- =sink operaator on nüüd valikuline. Kompilaator suudab nüüd kasutada kombinatsiooni =destroy ja copyMem tõhusate objektide liikumiseks.
- Transformatsioonid unsigned integers-sse ei kontrollita runtime'is. Üksikasjad leiate https://github.com/nim-lang/RFCs/issues/175
- Uus süntees lvalue jaoks: var b {.byaddr.} = expr, importides std/decls
- Kompilaator toetab uut lippu —panics:on, mis muudab aegkäitumisvead nagu IndexError või OverflowError fataalseteks vigadeks, mida ei saa catch try kaudu. See võib parandada aegkäitumise efektiivsust ja programmi suurust.
- Genereeritud JS-kood kasutab ainult tühikuid, mitte segatuna tühikute ja tabulaatorite kombinatsioonist.
- Kompilaatorisse on lisatud tugi .localPassc pragma jaoks, mille abil saab töödelda C(++) taustal spetsiaalseid valikuid C(++) faili jaoks, mis genereeritakse praegusest Nim moodulist.
- Nimpretty ei võta enam negatiivset argumenti sisendite sättimiseks, kuna see rikkus faile.
- On lisatud uusi makrosid (collect, dup, capture), mis kutsutakse välja läbi import sugar.
Lisaks on tehtud palju muudatusi standardraamatukogus ja hulgaliselt vigade parandusi.
Allikas: linux.org.ru
