Vydanie Nim 1.2.0

Bola vydaná nová verzia programovacieho jazyka systému Nim. Má čiastočnú nekompatibilitu s verziou 1.0, napríklad kvôli prísnejšej konverzii typov. Ale v tomto prípade existuje príznak -useVersion:1.0.

Hlavnou inováciou je nový garbage collector, ktorý umožňuje voľba -gc:arc. Autor jazyka Andreas Rumpf sa chystá napísať podrobný článok o výhodách ARC, ale zatiaľ vás pozýva na prečítanie svojím vystúpením na FOSDEM, ktorá zobrazuje výsledky benchmarku.

  • Kompilátor teraz podporuje možnosť --asm pre pohodlnejšie preskúmanie vytvoreného kódu zostavy.
  • align pragma môže byť použitá na objektové premenné a polia, je to podobné ako alignas v C/C++.
  • Operátor =sink je teraz voliteľný. Kompilátor teraz môže použiť kombináciu =destroy a copyMem na efektívne presúvanie objektov.
  • Konverzie na celé čísla bez znamienka sa pri spustení nekontrolujú. Podrobnosti v https://github.com/nim-lang/RFCs/issues/175
  • Nová syntax pre lvalue: var b {.byaddr.} = expr, pripojené cez import std/decls
  • Kompilátor podporuje nový prepínač -panics:on, ktorý premení chyby spustenia, ako je IndexError alebo OverflowError, na fatálne chyby, ktoré nemožno zachytiť pomocou pokusu. To môže zlepšiť efektivitu chodu a veľkosť programu.
  • Vygenerovaný kód JS používa iba medzery namiesto zmiešaného medzier a tabulátorov.
  • Kompilátor pridal podporu pre .localPassc pragma, ktorá môže byť použitá na spracovanie špeciálnych C(++) backendových volieb pre C(++) súbor, ktorý je generovaný z aktuálneho modulu Nim.
  • Nimpretty už neakceptuje negatívny argument pre nastavenie odsadenia, pretože to bolo porušenie súborov.
  • Pribudli nové makrá (collect, dup, capture), prepojené cez import cukru.

Okrem toho bolo do štandardnej knižnice pridaných veľa zmien a veľa opráv chýb.

Zdroj: linux.org.ru

Pridať komentár