Nim proqramlaşdırma dili buraxılışı 1.2.0

Tərəfindən təqdim edildi sistem proqramlaşdırma dili buraxılışı Nim 1.2. Nim dili statik yazmaqdan istifadə edir və Pascal, C++, Python və Lisp dillərinə nəzər salmaqla yaradılmışdır. Nim mənbə kodu C, C++ və ya JavaScript təqdimatında tərtib edilmişdir. Sonradan əldə edilən C/C++ kodu istənilən mövcud kompilyatordan (clang, gcc, icc, Visual C++) istifadə etməklə icra edilə bilən fayla yığılır ki, bu da işləmə xərclərini nəzərə almasanız, C-yə yaxın performansa nail olmağa imkan verir. zibil yığan. Python kimi, Nim blok ayırıcıları kimi abzasdan istifadə edir. Metaproqramlaşdırma alətləri və domenə xas dillər (DSL) yaratmaq üçün imkanlar dəstəklənir. Layihə kodu təchiz olunmuşdur MIT lisenziyası altında.

Yeni buraxılışda diqqətəlayiq dəyişikliklərə aşağıdakılar daxildir:

  • Yeni bir zibil kollektoru həyata keçirdi ARC (“-gc:arc”).
  • modulunda "şəkər"Toplanan, kopyalayan və ələ keçirən yeni makrolar əlavə edildi.
  • "ile" yeni makro əlavə edildi.
  • strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, times.fromUnixFloat, os.isRelativeTo, times.isLeapay daxil olmaqla, standart kitabxanaya yeni zənglərin böyük bir hissəsi əlavə edilib. , net.getPeerCertificates, jsconsole.trace, jsconsole.table, jsconsole.exception, sequtils.countIt və s.
  • Yeni modullar std/stackframes və std/compilesettings əlavə edildi.
  • IndexError və OverflowError xətalarında məcburi çıxış üçün “—asm” (yaratılmış montaj kodunun təhlili üçün) və “—panics:on” seçimləri “sınamaq” idarəedicisi tərəfindən tutulma ehtimalı olmadan tərtibçiyə əlavə edilmişdir.
  • Mümkün bufer daşqınlarının təkmilləşdirilmiş aşkarlanması.

Mənbə: opennet.ru

Добавить комментарий