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