Release van de programmeertaal Nim 1.2.0

Geïntroduceerd systeem programmeertaal release Nim 1.2. De Nim-taal maakt gebruik van statisch typen en is gemaakt met het oog op Pascal, C++, Python en Lisp. De Nim-broncode wordt gecompileerd in een C-, C++- of JavaScript-weergave. Vervolgens wordt de resulterende C/C++-code gecompileerd in een uitvoerbaar bestand met behulp van elke beschikbare compiler (clang, gcc, icc, Visual C++), waardoor u prestaties kunt bereiken die dicht bij C liggen, als u geen rekening houdt met de kosten van het uitvoeren van de vuilophaler. Net als Python gebruikt Nim inspringen als blokscheidingstekens. Metaprogrammeertools en mogelijkheden voor het creëren van domeinspecifieke talen (DSL's) worden ondersteund. Projectcode geleverde onder de MIT-licentie.

Opmerkelijke veranderingen in de nieuwe release zijn onder meer:

  • Implementatie van een nieuwe afvalverzamelaar ARC (“-gc:boog”).
  • In de module "suiker"Nieuwe macro's toegevoegd voor verzamelen, dup en vastleggen.
  • Nieuwe macro "met" toegevoegd.
  • Een groot deel van de nieuwe oproepen is toegevoegd aan de standaardbibliotheek, waaronder 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, enz.
  • Nieuwe modules std/stackframes en std/compilesettings toegevoegd.
  • Opties “—asm” (voor analyse van gegenereerde assemblagecode) en “—panics:on” voor geforceerd afsluiten bij IndexError- en OverflowError-fouten zijn aan de compiler toegevoegd, zonder de mogelijkheid om te worden onderschept door de “try”-handler.
  • Verbeterde detectie van mogelijke bufferoverflows.

Bron: opennet.ru

Voeg een reactie