Nim programming language release 1.2.0

Ipinasa ni release ng system programming language Nim 1.2. Gumagamit ang wikang Nim ng static na pag-type at nilikha na may pagtingin sa Pascal, C++, Python at Lisp. Ang source code ng Nim ay pinagsama-sama sa isang representasyong C, C++, o JavaScript. Kasunod nito, ang resultang C/C++ code ay pinagsama-sama sa isang executable na file gamit ang anumang available na compiler (clang, gcc, icc, Visual C++), na nagbibigay-daan sa iyong makamit ang pagganap na malapit sa C, kung hindi mo isasaalang-alang ang mga gastos sa pagpapatakbo. ang basurero. Katulad ng Python, ginagamit ni Nim ang indentation bilang block delimiters. Sinusuportahan ang mga tool at kakayahan ng metaprogramming para sa paglikha ng mga wikang partikular sa domain (DSL). Code ng proyekto naibigay sa ilalim ng lisensya ng MIT.

Ang mga kapansin-pansing pagbabago sa bagong release ay kinabibilangan ng:

  • Nagpatupad ng bagong basurero ARC (β€œ-gc:arc”).
  • Sa modyul "asukal"Nagdagdag ng mga bagong macro na kinokolekta, dup at kumukuha.
  • Nagdagdag ng bagong macro "with".
  • Malaking bahagi ng mga bagong tawag ang naidagdag sa karaniwang library, kabilang ang 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, atbp.
  • Nagdagdag ng mga bagong module std/stackframes at std/compilesettings.
  • Ang mga opsyon na "β€”asm" (para sa pagsusuri ng nabuong assembly code) at "β€”panics:on" para sa sapilitang paglabas sa mga error sa IndexError at OverflowError ay idinagdag sa compiler, nang walang posibilidad na ma-intercept ng "try" handler.
  • Pinahusay na pagtuklas ng mga posibleng buffer overflow.

Pinagmulan: opennet.ru

Magdagdag ng komento