Version 1.2.0 der Programmiersprache Nim

Eingereicht von Veröffentlichung der Systemprogrammiersprache Nim 1.2. Die Nim-Sprache verwendet statische Typisierung und wurde mit Blick auf Pascal, C++, Python und Lisp erstellt. Nim-Quellcode wird in eine C-, C++- oder JavaScript-Darstellung kompiliert. Anschließend wird der resultierende C/C++-Code mit einem beliebigen verfügbaren Compiler (Clang, GCC, ICC, Visual C++) in eine ausführbare Datei kompiliert, wodurch Sie eine Leistung erreichen können, die der von C nahe kommt, wenn Sie die Betriebskosten nicht berücksichtigen der Müllsammler. Ähnlich wie Python verwendet Nim Einrückungen als Blocktrennzeichen. Metaprogrammierungstools und Funktionen zum Erstellen domänenspezifischer Sprachen (DSLs) werden unterstützt. Projektnummer geliefert unter der MIT-Lizenz.

Zu den bemerkenswerten Änderungen in der neuen Version gehören:

  • Ein neuer Garbage Collector wurde implementiert ARC („-gc:arc“).
  • Im Modul „Zucker„Neue Makros zum Sammeln, Kopieren und Erfassen hinzugefügt.
  • Neues Makro „with“ hinzugefügt.
  • Der Standardbibliothek wurden viele neue Aufrufe hinzugefügt, darunter 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 usw.
  • Neue Module std/stackframes und std/compilesettings hinzugefügt.
  • Dem Compiler wurden die Optionen „—asm“ (zur Analyse des generierten Assemblercodes) und „—panics:on“ für erzwungenes Beenden bei IndexError- und OverflowError-Fehlern hinzugefügt, ohne dass die Möglichkeit besteht, vom „try“-Handler abgefangen zu werden.
  • Verbesserte Erkennung möglicher Pufferüberläufe.

Source: opennet.ru

Kommentar hinzufügen