Ukukhishwa kolimi lohlelo lwe-Nim 1.4.0

Kukhishwe inguqulo entsha yolimi lwezinhlelo zesistimu ye-Nim, le nyanga kaSepthemba igubhe unyaka wayo owodwa. inguqulo yokuqala ezinzile. Ulimi luyafana ku-syntax kuya kuPython, futhi lucishe lufane ne-C++ ekusebenzeni. Ngokuvumelana ne Imibuzo Evame Ukubuzwa Ulimi luboleka kakhulu (ngokulandelana komnikelo): i-Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.


Isebenza yonke indawo ngenxa yekhono lokuhlanganisa ku-C/C++/Objective-C/JS. Iyasekela amakhro, OOP, amajenerikhi, ngaphandle, hot ikhodi ukushintshanisa nokunye okuningi. Ilayisensi: MIT.

Izinguquko ezibaluleke kakhulu:

  • Kukhona umqoqi wezibi we-ORC omusha osebenzisa i-algorithm evela ku-ARC, kodwa ngesikhathi esifanayo uphatha izinkomba eziyindilinga ngendlela ekhethekile. Inikwe amandla inketho ye -gc:orc. Mayelana nomehluko we-ARC/ORC kukhona isihloko esikhulu.

  • Imodi yezincazelo eziqinile zokusebenza yengeziwe, okuvumela ukuhlola okwengeziwe kokuguquguquka kwento. Yenziwe yasebenza nge-pragma {.experimental: "strictFuncs".} noma ngokhiye othi --experimental:strictFuncs.

  • Igama elingukhiye elithi kusuka manje lingasetshenziswa njengesisebenzisi.

  • Kwengezwe .noalias pragma. Ibeka kumephu igama elingukhiye elithi C khawula ukuze kwandiswe ukusebenza kahle okunganikezwa yigama elingukhiye.

  • Izixwayiso eziqondile manje zingaphendulwa zibe amaphutha ngokuthi --warningAsError[X]:on|off.

  • Umyalo omusha: nim r main.nim [args...], ohlanganisa futhi usebenzise i-main.nim, futhi uhlanganisa --usenimcache ukuze umphumela ulondolozwe ku-$nimcache/main$exeExt, kusetshenziswa indlela yokucabanga efana ne-nim c - r ukususa ekuhlanganisweni kabusha lapho imithombo ingashintshile. Isibonelo:

nim r compiler/nim.nim --help # ihlanganiswe okokuqala ngqa
echo 'ngenisa os; echo getCurrentCompilerExe()' | nim r - # lokhu kuyasebenza futhi
nim r compiler/nim.nim --fullhelp # ngaphandle kokuhlanganiswa kabusha
nim r β€”nimcache:/tmp main # kanambambili ilondolozwe ku/tmp/main

  • Kwengezwe ihint -hint:msgOrigin entsha, ezobonisa lapho umdidiyeli enze khona iphutha/imiyalezo yesexwayiso. Lokhu kuyasiza uma kungabonakali ukuthi umlayezo uvelaphi.

  • Kwengezwe ifulegi β€”i-backend:js|c|cpp|objc (noma -b:js, njll.) ukuze kushintshwe ingemuva.

  • Kwengezwe --usenimcache umaka ekukhipheni okuhamba ngakubili ku-nimcache.

  • Okhiye basusiwe: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • Insiza ye-nimsuggest manje ayibonisi kuphela isimemezelo sangaphambilini, kodwa futhi nendawo yokuqaliswa kwesicelo sokungaphenduli.

Ngaphezu kwalokho, izinguquko eziningi zengeziwe kulabhulali evamile kanye nokulungiswa kweziphazamisi eziningi.

Source: linux.org.ru