Ukukhutshwa kolwimi lwenkqubo lweNim 1.4.0

Inguqulelo entsha yolwimi lwenkqubo ye-Nim ikhutshiwe, leyo ngoSeptemba ibhiyozele unyaka wayo omnye. inguqulelo yokuqala ezinzileyo. Ulwimi lufana ne-syntax kwiPython, kwaye phantse njengeC ++ ekusebenzeni. Ngoku ka FAQ Ulwimi luboleka kakhulu (ngolandelelwano lwegalelo): iModula 3, Delphi, Ada, C ++, Python, Lisp, Oberon.


Isebenza kuyo yonke indawo ngenxa yokukwazi ukuqokelela kwiC/C++/Objective-C/JS. Iyaxhasa iimakhro, OOP, iigenerics, ngaphandle, ikhowudi eshushu swap nokunye okuninzi. Ilayisensi: MIT.

Olona tshintsho lubalulekileyo:

  • Kukho i-ORC entsha yokuqokelela inkunkuma esebenzisa i-algorithm esuka kwi-ARC, kodwa kwangaxeshanye iphatha iireferensi zesetyhula ngendlela ekhethekileyo. Inikwe amandla ngu -gc:orc ukhetho. Malunga neARC/ORC iyantlukwano kukho inqaku elikhulu.

  • Imo yeenkcazelo ezingqongqo zomsebenzi yongezwe, eyenza ukuba kukhangelwe okongeziweyo kokuguquguquka kwento. Yenziwe ngepragma {.experimental: "strictFuncs".} okanye kusetyenziswa iqhosha --experimental:strictFuncs.

  • Igama elisuka kwigama elingundoqo ngoku lingasetyenziswa njengomsebenzisi.

  • Ifakwe .noalias pragma. Yenza imephu kwi-C ithintele igama elingundoqo ukwandisa ukusebenza kakuhle ukuba igama elingundoqo linokubonelela.

  • Izilumkiso ezithile ngoku zinokujikwa zibe ziimpazamo ngokusebenzisa --warningAsError[X]:on|off.

  • Umyalelo omtsha: nim r main.nim [args...], eqokelela kwaye isebenze main.nim, kwaye iquka --usenimcache ukuze isiphumo sigcinwe kwi $nimcache/main$exeExt, kusetyenziswa ingqiqo efanayo njenge nim c - r ukulahla kwi-recompilation xa imithombo ingatshintshanga. Umzekelo:

nim r compiler/nim.nim --help # iqulunqwe okokuqala
i-echo 'import os; echo getCurrentCompilerExe()' | nim r - # oku kusebenza kakhulu
nim r compiler/nim.nim --fullhelp # ngaphandle kokuhlanganiswa kwakhona
nim r β€”nimcache:/tmp eyona # yokubini igcinwe kwi/tmp/main

  • Kongezwe icebiso elitsha -hint:msgOrigin, eliza kubonisa apho umqokeleli enze imposiso/imiyalezo yesilumkiso. Oku kunceda xa kungabonakali ukuba umyalezo uvela phi.

  • Indwe eyongeziweyo β€”umva:js|c|cpp|objc (okanye -b:js, njalo njalo) ukutshintsha umva.

  • Yongeziwe --usenimcache iflegi kwimveliso yokubini kwi-nimcache.

  • Izitshixo zisusiwe: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • Umsebenzi we-nimsuggest ngoku ubonisa kungekuphela nje ukubhengezwa kwangaphambili, kodwa kunye nendawo yokuphunyezwa kwesicelo se-def.

Ukongeza, utshintsho oluninzi longezwe kwilayibrari eqhelekileyo kunye nokulungiswa kwebug ezininzi.

umthombo: linux.org.ru