Rilis Nim 1.2.0

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

Tambah komentar