Nim programmeringssprog udgivelse 1.2.0

Introduceret frigivelse af systemprogrammeringssprog Nim 1.2. Nim-sproget bruger statisk skrivning og blev skabt med øje på Pascal, C++, Python og Lisp. Nim-kildekoden er kompileret til en C-, C++- eller JavaScript-repræsentation. Efterfølgende kompileres den resulterende C/C++-kode til en eksekverbar fil ved hjælp af enhver tilgængelig compiler (clang, gcc, icc, Visual C++), som giver dig mulighed for at opnå ydeevne tæt på C, hvis du ikke tager højde for omkostningerne ved at køre skraldemanden. I lighed med Python bruger Nim indrykning som blokadskillere. Metaprogrammeringsværktøjer og -funktioner til at skabe domænespecifikke sprog (DSL'er) understøttes. Projektkode leveres under MIT-licensen.

Bemærkelsesværdige ændringer i den nye udgivelse inkluderer:

  • Implementeret en ny skraldeopsamler ARC ("-gc:bue").
  • I modulet "sukker"Tilføjet nye makroer til indsamling, dup og optagelse.
  • Tilføjet ny makro "med".
  • En stor del af nye opkald er blevet tilføjet til standardbiblioteket, herunder 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 osv.
  • Tilføjet nye moduler std/stackframes og std/compilesettings.
  • Indstillingerne "—asm" (til analyse af genereret assembly-kode) og "—panics:on" for tvungen exit på IndexError og OverflowError-fejl er blevet tilføjet til compileren uden mulighed for at blive opsnappet af "try"-handleren.
  • Forbedret detektion af mulige bufferoverløb.

Kilde: opennet.ru

Tilføj en kommentar