Nim programmeringsspråk utgivelse 1.2.0

Introdusert utgivelse av systemprogrammeringsspråk Nim 1.2. Nim-språket bruker statisk skriving og ble opprettet med et øye på Pascal, C++, Python og Lisp. Nim-kildekoden er kompilert til en C-, C++- eller JavaScript-representasjon. Deretter blir den resulterende C/C++-koden kompilert til en kjørbar fil ved å bruke en hvilken som helst tilgjengelig kompilator (clang, gcc, icc, Visual C++), som lar deg oppnå ytelse nær C, hvis du ikke tar hensyn til kostnadene ved å kjøre søppelsamleren. I likhet med Python bruker Nim innrykk som blokkavgrensere. Metaprogrammeringsverktøy og muligheter for å lage domenespesifikke språk (DSL) støttes. Prosjektkode medfølgende under MIT-lisensen.

Viktige endringer i den nye utgivelsen inkluderer:

  • Implementerte ny søppeloppsamler ARC ("-gc:bue").
  • I modulen "sukker"Lagt til nye makroer for innsamling, dup og fangst.
  • Lagt til ny makro "med".
  • En stor del av nye samtaler er lagt til standardbiblioteket, inkludert 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, etc.
  • Lagt til nye moduler std/stackframes og std/compilesettings.
  • Alternativene «—asm» (for analyse av generert monteringskode) og «—panics:on» for tvungen avslutning på IndexError og OverflowError-feil er lagt til kompilatoren, uten mulighet for å bli fanget opp av «try»-behandleren.
  • Forbedret deteksjon av mulig bufferoverløp.

Kilde: opennet.ru

Legg til en kommentar