Релиз Nim 1.2.0

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

Основното нововъведение е новият сборщик на смет, активиран с опцията —gc:arc. Авторът на езика Andreas Rumpf планира да напише подробна статия за предимствата на 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