реліз мови системного програмування . Мова Nim використовує статичну типізацію та створена з огляду на Pascal, C++, Python та Lisp. Вихідний код на мові Nim компілюється на представлення на C, C++ або JavaScript. Надалі отриманий C/C++ код компілюється виконуваний файл за допомогою будь-якого доступного компілятора (clang, gcc, icc, Visual C++), що дозволяє досягти продуктивності близької до Сі, якщо не враховувати витрати на виконання збирача сміття. За аналогією з Python в Nim як роздільники блоків застосовуються відступи. Підтримуються засоби метапрограмування та можливості для створення предметно-орієнтованих мов (DSL). Код проекту під ліцензією MIT.
Серед помітних змін у новому випуску:
- Реалізовано новий збирач сміття («-gc: arc»).
- У модуль «» додані нові макроси collect, dup та capture.
- Доданий новий макрос "with".
- Внесено велику порцію нових викликів до стандартної бібліотеки, включаючи strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, times.fromUnixFloat, os.isRelativeTo, jsconsole.trace, jsconsole.table, jsconsole.exception, sequtils.countIt і т.д.
- Додані нові модулі std/stackframes та std/compilesettings.
- У компілятор додані опції «-asm» (для аналізу генерованого асемблерного коду) і «panics:on» для примусового виходу при помилках IndexError і OverflowError, без можливості перехоплення обробником «try».
- Прискорено визначення можливих переповнень буферів.
Джерело: opennet.ru
