Eldono de la programlingvo Nim 1.2.0

Enkondukita eldono de la sistemo de programlingvo Nim 1.2. La Nim-lingvo uzas senmovan tajpadon kaj estis kreita kun okulo sur Paskalo, C++, Python kaj Lisp. Nim fontkodo estas kompilita en C, C++, aŭ JavaScript-reprezentantaron. Poste, la rezulta C/C++-kodo estas kompilita en ruleblan dosieron uzante ajnan disponeblan kompililon (clang, gcc, icc, Visual C++), kiu ebligas al vi atingi rendimenton proksime al C, se vi ne konsideras la kostojn de funkciado. la rubkolektisto. Simila al Python, Nim uzas indentaĵon kiel bloklimigilojn. Metaprogramadaj iloj kaj kapabloj por krei domajn-specifajn lingvojn (DSL) estas subtenataj. Projekta kodo provizis sub la MIT-licenco.

Rimarkindaj ŝanĝoj en la nova eldono inkluzivas:

  • Efektivigis novan rubkolektilon ARKO ("-gc:arc").
  • En la modulo "sukero"Aldonitaj novaj makrooj kolektas, dup kaj kaptas.
  • Aldonita nova makroo "kun".
  • Granda parto de novaj vokoj estis aldonita al la norma biblioteko, inkluzive de 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, ktp.
  • Aldonitaj novaj moduloj std/stackframes kaj std/compilesettings.
  • Opcioj "—asm" (por analizo de generita kunigkodo) kaj "—panics:on" por devigita eliro ĉe IndexError kaj OverflowError-eraroj estis aldonitaj al la kompililo, sen la ebleco esti kaptita de la "provo" pritraktilo.
  • Plibonigita detekto de eblaj bufrosuperfluoj.

fonto: opennet.ru

Aldoni komenton