Keluaran Nim 1.2.0

Versi baharu bahasa pengaturcaraan sistem Nim telah dikeluarkan. Ia mempunyai ketidakserasian separa dengan versi 1.0, contohnya disebabkan penukaran jenis yang lebih ketat. Tetapi dalam kes ini terdapat bendera -useVersion:1.0.

Inovasi utama ialah pemungut sampah baharu, didayakan oleh pilihan -gc:arc. Pengarang bahasa, Andreas Rumpf, akan menulis artikel terperinci tentang kelebihan ARC, tetapi buat masa ini dia menjemput anda untuk membaca dengan prestasinya di FOSDEM, yang menunjukkan hasil penanda aras.

  • Pengkompil kini menyokong pilihan --asm untuk pemeriksaan yang lebih mudah bagi kod pemasangan yang dihasilkan.
  • Pragma penjajaran boleh digunakan pada pembolehubah dan medan objek, ini serupa dengan penjajaran dalam C/C++.
  • Operator =sink kini menjadi pilihan. Pengkompil kini boleh menggunakan gabungan =destroy dan copyMem untuk menggerakkan objek dengan cekap.
  • Penukaran kepada integer tidak ditandatangani tidak disemak pada masa jalan. Butiran dalam https://github.com/nim-lang/RFCs/issues/175
  • Sintaks baharu untuk lvalue: var b {.byaddr.} = expr, disambungkan melalui import std/decls
  • Pengkompil menyokong suis -panics:on baharu, yang menukar ralat masa jalan seperti IndexError atau OverflowError kepada ralat maut yang tidak dapat ditangkap melalui percubaan. Ini boleh meningkatkan kecekapan masa jalan dan saiz program.
  • Kod JS yang dijana hanya menggunakan ruang dan bukannya campuran ruang dan tab.
  • Pengkompil telah menambah sokongan untuk pragma .localPassc, yang boleh digunakan untuk mengendalikan pilihan hujung belakang C(++) khas untuk fail C(++) yang dijana daripada modul Nim semasa.
  • Nimpretty tidak lagi menerima hujah negatif untuk menetapkan lekukan, kerana ini telah memecahkan fail.
  • Makro baharu telah ditambah (kumpul, dup, tangkap), disambungkan melalui import gula.

Selain itu, banyak perubahan telah ditambahkan pada perpustakaan standard dan banyak pembetulan pepijat.

Sumber: linux.org.ru

Tambah komen