Versi anyar tina basa program sistem Nim parantos dileupaskeun, anu dina Séptémber ieu ngagungkeun ulang taunna. Vérsi stabil munggaran. Basana sami dina sintaksis sareng Python, sareng ampir sapertos C ++ dina pagelaran. Numutkeun kana FAQ Basa nginjeum pisan tina (dina urutan kontribusi): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.
Gawéna madhab berkat kamampuhan pikeun compile dina C / C ++ / obyektif-C / JS. Ieu ngarojong macros, OOP, generik, pangaluaran, swap kode panas sareng seueur deui. Lisensi: MIT.
Parobahan anu paling signifikan:
-
Aya ORC sampah collector anyar anu ngagunakeun algoritma ti ARC, tapi dina waktos anu sareng handles rujukan sirkular dina cara husus. Diaktipkeun ku pilihan -gc:orc. Ngeunaan bédana ARC / ORC aya artikel hébat.
-
Modeu pikeun definisi fungsi anu ketat parantos ditambah, anu ngamungkinkeun pamariksaan tambahan pikeun mutabilitas obyék. Diaktipkeun ku pragma {.experimental: "strictFuncs".} atanapi liwat konci --experimental:strictFuncs.
-
Kecap konci ti ayeuna tiasa dianggo salaku operator.
-
Ditambahkeun .noalias pragma. Ieu peta ka C ngawatesan keyword pikeun ngaronjatkeun efisiensi nu keyword bisa nyadiakeun.
-
Peringatan khusus ayeuna tiasa dirobih janten kasalahan via --warningAsError[X]:on|off.
-
Paréntah anyar: nim r main.nim [args...], anu nyusun sareng ngajalankeun main.nim, sareng kalebet --usenimcache supados hasilna disimpen dina $ nimcache / main $ exeExt, nganggo logika anu sami sareng nim c - r meunang leupas tina recompilation lamun sumber teu robah. conto:
nim r compiler / nim.nim --help # disusun pikeun kahiji kalina
echo 'impor os; gema getCurrentCompilerExe ()' | nim r - # ieu jalan teuing
nim r kompiler / nim.nim --fullhelp # tanpa recompilation
nim r —nimcache:/tmp main # binér disimpen dina /tmp/main
-
Ditambahkeun hint anyar -hint: msgOrigin, anu bakal nunjukkeun dimana kompiler ngahasilkeun pesen kasalahan / peringatan. Ieu ngabantuan lamun teu jelas ti mana pesen asalna.
-
Ditambahkeun bandéra —backend:js|c|cpp|objc (atawa -b:js, jsb.) pikeun ngarobah backend.
-
Ditambahkeun --usenimcache bandéra kana kaluaran binari ka nimcache.
-
Konci dihapus: --oldNewlines, --laxStrings, --oldast, --oldgensym
-
Utilitas nimsuggest ayeuna nunjukkeun henteu ngan ukur pra-deklarasi, tapi ogé lokasi palaksanaan pikeun pamundut def.
Salaku tambahan, seueur parobihan parantos ditambah kana perpustakaan standar sareng seueur perbaikan bug.
sumber: linux.org.ru