Rilis basa pamrograman Nim 1.4.0

Versi anyar saka basa pemrograman sistem Nim wis dirilis, sing September iki tandha setahun wiwit dirilis. versi stabil pisanan. Sintaks padha karo Python, lan kinerja meh kaya C ++. miturut FAQ basa nyilih akeh banget saka (ing urutan bobot kontribusi): Modula 3, Delphi, Ada, C ++, Python, Lisp, Oberon.


Bisa ing endi wae amarga kemampuan kanggo ngumpulake menyang C/C++/Objective-C/JS. Iku ndhukung makro, OOP, generik, pangecualian, panggantos kode panas lan akeh liyane. Lisensi - MIT.

Owah-owahan sing paling penting:

  • Ana pengumpul sampah ORC anyar sing nggunakake algoritma ARC nanging nangani referensi bunder kanthi cara khusus. Diaktifake kanthi opsi --gc:orc. Babagan ARC / ORC Bedane ana artikel gedhe.

  • Mode definisi fungsi sing ketat wis ditambahake, sing kalebu mriksa tambahan kanggo mutasi obyek. Diaktifake liwat pragma {.experimental: "strictFuncs".} utawa liwat switch --experimental:strictFuncs.

  • Kata kunci saka saiki bisa digunakake minangka operator.

  • Ditambahake .noalias pragma. Peta kasebut menyang tembung kunci watesan C kanggo nambah efisiensi sing bisa diwenehake tembung kunci iki.

  • Bebaya khusus saiki bisa diowahi dadi kasalahan liwat --warningAsError[X]:on|off.

  • Printah anyar: nim r main.nim [args...], sing nyusun lan mbukak main.nim, lan kalebu --usenimcache supaya asil disimpen ing $ nimcache / main $ exeExt, nggunakake logika sing padha karo nim c - r kanggo njaluk nyisihaken saka recompilation, nalika kode sumber wis ora diganti. Tuladha:

nim r compiler/nim.nim --help # dikompilasi kanggo pisanan
echo 'impor os; echo getCurrentCompilerExe()' | nim r - # iki uga dianggo
nim r compiler/nim.nim --fullhelp # tanpa recompilation
nim r --nimcache:/tmp utama # binar disimpen menyang /tmp/main

  • Nambahake pitunjuk anyar --hint:msgOrigin sing bakal nuduhake ing ngendi kompiler ngasilake pesen kesalahan / bebaya. Iki mbantu nalika ora jelas saka ngendi pesen kasebut teka.

  • Ditambahake --backend:js|c|cpp|objc (utawa -b:js, etc.) flag kanggo ngganti backend.

  • Ditambahake --usenimcache flag kanggo output binari kanggo nimcache.

  • Tombol dibusak: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • Utilitas nimsuggest saiki nuduhake ora mung deklarasi maju, nanging uga lokasi implementasine nalika dijaluk def.

Kajaba iku, akeh owah-owahan wis ditambahake menyang perpustakaan standar lan akeh koreksi bug.

Source: linux.org.ru