Издание на Nim 1.2.0

Излезе нова версия на системния език за програмиране Nim. Тя има частична несъвместимост с версия 1.0, например, заради по-строгото преобразуване на типове. Но за този случай има флаг —useVersion:1.0.

Основното нововъведение е новия сборник за сметища, който се активира с опцията —gc:arc. Авторът на езика Андреас Румпф планира да напише подробна статия за предимствата на ARC, а засега предлага да се запознаете с неговото изложение на FOSDEM, където са показани резултатите от бенчмарковете.

  • Компилаторът вече поддържа опцията —asm за по-удобно изучаване на генерирания асемблерен код.
  • align pragma може да се използва за променливи и полета на обекти, това е подобно на alignas в C/C++.
  • =sink операторът вече е опционален. Компилаторът може да използва комбинация от =destroy и copyMem за ефективно преместване на обекти.
  • Преобразуванията в unsigned integers не се проверяват в рантайм. Подробности в https://github.com/nim-lang/RFCs/issues/175
  • Новият синтаксис за lvalue: var b {.byaddr.} = expr, се включва чрез import std/decls
  • Компилаторът поддържа новия ключ —panics:on, който превръща грешките в рантайм, като IndexError или OverflowError, в фатални грешки, които не могат да бъдат хванати чрез try. Това може да подобри ефективността на рантайма и размера на програмата.
  • Генерираният JS код използва само интервали вместо смес от интервали и табулации.
  • В компилатора е добавена поддръжка за .localPassc pragma, с помощта на която могат да се обработят специални опции C(++) бекада за C(++) файла, който се генерира от текущия модул Nim.
  • Nimpretty вече не приема отрицателен аргумент за настройка на отстъпи, тъй като това е развалило файловете.
  • Добавени са нови макроси (collect, dup, capture), които се включват чрез import sugar.

Освен това са добавени редица промени в стандартната библиотека и множество корекции на грешки.

Източник: linux.org.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster