Nim 1.2.0 buraxılışı

Nim sistem proqramlaşdırma dilinin yeni versiyası buraxılmışdır. O, 1.0 versiyası ilə qismən uyğunsuzluğa malikdir, məsələn, daha sərt tip çevrilməsi səbəbindən. Amma bu halda -useVersion:1.0 bayrağı var.

Əsas yenilik -gc:arc seçimi ilə işə salınan yeni zibil toplayıcısıdır. Dilin müəllifi Andreas Rumpf ARC-nin üstünlükləri haqqında ətraflı məqalə yazmaq niyyətindədir, lakin hələlik sizi oxumağa dəvət edir. FOSDEM-dəki performansı ilə, benchmark nəticələrini göstərir.

  • Hazırlanmış montaj kodunu daha rahat yoxlamaq üçün kompilyator indi --asm variantını dəstəkləyir.
  • Align praqması obyekt dəyişənləri və sahələrində istifadə edilə bilər, bu, C/C++-da düzülmələrə bənzəyir.
  • =sink operatoru artıq isteğe bağlıdır. Kompilyator indi obyektləri səmərəli şəkildə hərəkət etdirmək üçün =destroy və copyMem birləşməsindən istifadə edə bilər.
  • İşarəsiz tam ədədlərə çevrilmələr icra zamanı yoxlanılmır. Təfərrüatlar https://github.com/nim-lang/RFCs/issues/175
  • Lvalue üçün yeni sintaksis: var b {.byaddr.} = ifadə, import std/decls vasitəsilə qoşulub
  • Kompilyator IndexError və ya OverflowError kimi iş vaxtı xətalarını cəhd vasitəsilə tutmaq mümkün olmayan ölümcül xətalara çevirən yeni keçid -panics:on-u dəstəkləyir. Bu, iş vaxtının səmərəliliyini və proqram ölçüsünü artıra bilər.
  • Yaradılmış JS kodu boşluqlar və nişanlar qarışığı əvəzinə yalnız boşluqlardan istifadə edir.
  • Kompilyator .localPassc praqması üçün əlavə dəstəyi əlavə etmişdir ki, bu da cari Nim modulundan yaradılan C(++) faylı üçün xüsusi C(++) backend variantlarını idarə etmək üçün istifadə edilə bilər.
  • Nimpretty artıq girinti təyin etmək üçün mənfi arqumenti qəbul etmir, çünki bu, faylları pozurdu.
  • İdxal şəkər vasitəsilə birləşdirilən yeni makrolar əlavə edildi (toplama, dup, tutma).

Bundan əlavə, standart kitabxanaya bir çox dəyişikliklər və bir çox səhv düzəlişləri əlavə edildi.

Mənbə: linux.org.ru

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