Релиз языка программирования Nim 1.2.0

10 апреля 2020 года

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

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

  • Реализован новый сборщик мусора ARC (Архивная копия от 10 января 2018 на Wayback Machine) ("--gc:arc").
  • В модуль "sugar" добавлены новые макросы collect, dup и capture.
  • Добавлен новый макрос "with".
  • Внесена большая порция новых вызовов в стандартную библиотеку, включая strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, times.fromUnixFloat, os.isRelativeTo, times.isLeapDay, net.getPeerCertificates, jsconsole.trace, jsconsole.table, jsconsole.exception, sequtils.countIt и т.д.
  • Добавлены новые модули std/stackframes и std/compilesettings.
  • В компилятор добавлены опции "--asm" (для анализа генерируемого ассемблерного кода) и "--panics:on" для принудительного выхода при ошибках IndexError и OverflowError, без возможности перехвата обработчиком "try".
  • Ускорено определение возможных переполнений буферов.

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Релиз языка программирования Nim 1.2.0», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.