Toleo la lugha ya programu ya Nim 1.2.0

Iliyowasilishwa na kutolewa kwa lugha ya programu ya mfumo Nim 1.2. Lugha ya Nim hutumia uchapaji tuli na iliundwa kwa jicho la Pascal, C++, Python na Lisp. Msimbo wa chanzo wa Nim umeundwa kuwa uwakilishi wa C, C++, au JavaScript. Baadaye, nambari inayotokana ya C/C++ inakusanywa kuwa faili inayoweza kutekelezwa kwa kutumia mkusanyaji wowote unaopatikana (clang, gcc, icc, Visual C++), ambayo hukuruhusu kufikia utendaji karibu na C, ikiwa hautazingatia gharama za kuendesha. mkusanya takataka. Sawa na Python, Nim hutumia ujongezaji kama vidhibiti vya kuzuia. Zana za kupanga metaprogramu na uwezo wa kuunda lugha mahususi za kikoa (DSLs) zinatumika. Msimbo wa mradi hutolewa chini ya leseni ya MIT.

Mabadiliko makubwa katika toleo jipya ni pamoja na:

  • Imetekelezwa mtoza takataka mpya Safu ("-gc:arc").
  • Katika moduli "sukari"Imeongeza macros mpya kukusanya, dup na kunasa.
  • Imeongeza jumla mpya "na".
  • Sehemu kubwa ya simu mpya zimeongezwa kwenye maktaba ya kawaida, ikijumuisha 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, n.k.
  • Aliongeza moduli mpya std/stackframes na std/compilesettings.
  • Chaguo "-asm" (kwa uchanganuzi wa msimbo wa mkusanyiko uliozalishwa) na "-panics: on" kwa kuondoka kwa lazima kwenye IndexError na OverflowError makosa yameongezwa kwa mkusanyaji, bila uwezekano wa kuzuiwa na kidhibiti cha "jaribu".
  • Ugunduzi ulioboreshwa wa uwezekano wa kufurika kwa bafa.

Chanzo: opennet.ru

Kuongeza maoni