Toleo jipya la lugha ya programu ya Nim 0.20

ilifanyika kutolewa kwa lugha ya programu ya mfumo Nim 0.20.0. Lugha hutumia uchapaji tuli na iliundwa kwa kuzingatia 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.

Toleo la Nim 0.20 linaweza kuchukuliwa kama pendekezo la toleo la kwanza thabiti la 1.0, likijumuisha mabadiliko kadhaa ya kuvunja mwingiliano yanayohitajika ili kuunda tawi thabiti la kwanza ambalo litatekeleza hali ya lugha. Toleo la 1.0 linatajwa kuwa toleo thabiti, la muda mrefu la usaidizi ambalo litahakikishwa kudumisha utangamano wa nyuma katika sehemu iliyoimarishwa ya lugha. Kando, mkusanyaji pia atakuwa na hali ya majaribio inayopatikana ambapo vipengele vipya vinavyoweza kuharibu uoanifu wa nyuma vitatengenezwa.

Miongoni mwa mabadiliko yaliyopendekezwa katika Nim 0.20 ni:

  • "Sio" sasa daima ni operator usio na maana, i.e. misemo kama vile "assert(not a)" sasa hairuhusiwi na ni "assert not a" pekee ndiyo inaruhusiwa;
  • Umewasha ukaguzi mkali wa ubadilishaji wa nambari kamili na nambari halisi katika hatua ya ujumuishaji, i.e. usemi "const b = uint16(-1)" sasa utasababisha hitilafu, kwani -1 haiwezi kugeuzwa kuwa aina kamili isiyo na saini;
  • Kufungua kwa nakala za vibadilishio vya kudumu na kitanzi hutolewa.
    Kwa mfano, sasa unaweza kutumia kazi kama vile β€˜const (d, e) = (7, β€œnane”)’ na β€œkwa (x, y) katika f”;

  • Hutoa uanzishaji chaguomsingi wa heshi na jedwali. Kwa mfano, baada ya kutangaza β€œvar s: HashSet[int]” unaweza kutekeleza mara moja β€œs.incl(5)”, ambayo hapo awali ilisababisha hitilafu;
  • Taarifa ya hitilafu iliyoboreshwa kwa matatizo yanayohusiana na opereta "kesi" na faharasa ya safu nje ya mipaka;
  • Kubadilisha urefu wa jedwali wakati wa kurudia ni marufuku.

Chanzo: opennet.ru

Kuongeza maoni