Versi baru dari bahasa pemrograman sistem Nim telah dirilis. Ini memiliki ketidakcocokan sebagian dengan versi 1.0, misalnya karena konversi tipe yang lebih ketat. Namun dalam kasus ini ada flag -useVersion:1.0.
Inovasi utamanya adalah pengumpul sampah baru, yang diaktifkan oleh opsi -gc:arc. Penulis bahasanya, Andreas Rumpf, akan menulis artikel mendetail tentang keunggulan ARC, namun untuk saat ini ia mengundang Anda untuk membaca dengan penampilannya di FOSDEM, yang menunjukkan hasil benchmark.
- Kompiler sekarang mendukung opsi --asm untuk pemeriksaan yang lebih nyaman terhadap kode perakitan yang dihasilkan.
- Pragma align dapat digunakan pada variabel objek dan bidang, ini mirip dengan alignas di C/C++.
- Operator =sink sekarang opsional. Kompiler sekarang dapat menggunakan kombinasi =destroy dan copyMem untuk memindahkan objek secara efisien.
- Konversi ke bilangan bulat tak bertanda tidak diperiksa saat runtime. Detail di https://github.com/nim-lang/RFCs/issues/175
- Sintaks baru untuk nilai: var b {.byaddr.} = expr, terhubung melalui import std/decls
- Kompiler mendukung saklar baru -panics:on, yang mengubah kesalahan runtime seperti IndexError atau OverflowError menjadi kesalahan fatal yang tidak dapat ditangkap melalui percobaan. Hal ini dapat meningkatkan efisiensi runtime dan ukuran program.
- Kode JS yang dihasilkan hanya menggunakan spasi, bukan campuran spasi dan tab.
- Kompiler telah menambahkan dukungan untuk pragma .localPassc, yang dapat digunakan untuk menangani opsi backend C(++) khusus untuk file C(++) yang dihasilkan dari modul Nim saat ini.
- Nimpretty tidak lagi menerima argumen negatif untuk menyetel indentasi, karena ini merusak file.
- Makro baru telah ditambahkan (kumpulkan, dup, tangkap), terhubung melalui impor gula.
Selain itu, banyak perubahan telah ditambahkan ke perpustakaan standar dan banyak perbaikan bug.
Sumber: linux.org.ru