Рэліз мовы праграмавання Nim 1.2.0

Прадстаўлены рэліз мовы сістэмнага праграмавання Nim 1.2. Мова Nim выкарыстоўвае статычную тыпізацыю і створаны з аглядкай на Pascal, C++, Python і Lisp. Зыходны код на мове Nim кампілюецца ў прадстаўленне на C, C ++ або JavaScript. У далейшым атрыманы C/C++ код кампілюецца ў выкананы файл пры дапамозе любога даступнага кампілятара (clang, gcc, icc, Visual C++), што дазваляе дамагчыся прадукцыйнасці блізкай да Сі, калі не ўлічваць выдаткі на выкананне зборшчыка смецця. Па аналогіі з Python у Nim у якасці падзельнікаў блокаў ужываюцца водступы. Падтрымліваюцца сродкі метапраграмавання і магчымасці для стварэння прадметна-арыентаваных моў (DSL). Код праекту пастаўляецца пад ліцэнзіяй MIT.

Сярод прыкметных змен у новым выпуску:

  • Рэалізаваны новы зборшчык смецця ARC («-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

Дадаць каментар