Itusilẹ ede siseto Nim 1.4.0

Ẹya tuntun ti ede siseto eto Nim ti tu silẹ, eyiti Oṣu Kẹsan yii ṣe ayẹyẹ ọdun ọdun kan. akọkọ idurosinsin version. Ede naa jọra ni sintasi si Python, ati pe o fẹrẹ fẹ C ++ ni iṣẹ ṣiṣe. Gẹgẹ bi FAQ Ede naa yawo pupọ lati (ni aṣẹ ti ilowosi): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.


Ṣiṣẹ nibi gbogbo ọpẹ si agbara lati ṣajọ ni C / C ++ / Objective-C / JS. O ṣe atilẹyin Makiro, OOP, jeneriki, awọn imukuro, gbona koodu siwopu ati Elo siwaju sii. Iwe-aṣẹ: MIT.

Awọn iyipada to ṣe pataki julọ:

  • Akojọpọ idoti ORC tuntun wa ti o nlo algorithm lati ARC, ṣugbọn ni akoko kanna n mu awọn itọkasi ipin ni ọna pataki kan. Ti ṣiṣẹ nipasẹ aṣayan -gc:orc. Nipa awọn iyatọ ARC/ORC nkan nla wa.

  • Ipo fun awọn asọye iṣẹ ṣiṣe ti o muna ni a ti ṣafikun, eyiti o jẹki ayẹwo afikun fun iyipada ohun. Mu ṣiṣẹ nipasẹ pragma {.experimental: "strictFuncs".} tabi nipasẹ bọtini --experimental:strictFuncs.

  • Awọn lati Koko le ṣee lo bayi bi onišẹ.

  • Fi kun .noalias pragma. O maapu si Koko ihamọ C lati mu iṣẹ ṣiṣe ti Koko le pese.

  • Awọn ikilọ kan pato le ti yipada si awọn aṣiṣe nipasẹ --warningAsError[X]: | pa.

  • Aṣẹ tuntun: nim r main.nim [args...], eyiti o ṣe akopọ ati ṣiṣe main.nim, ati pẹlu --usenimcache ki abajade wa ni ipamọ ni $nimcache / main $ exeExt, ni lilo ọgbọn kanna bi nim c - r lati xo lati recompilation nigbati awọn orisun ti ko yi pada. Apeere:

nim r compiler/nim.nim --help # ti a ṣajọ fun igba akọkọ
iwoyi 'gbewọle OS; iwoyi getCurrentCompilerExe ()' | nim r - # eyi tun ṣiṣẹ
nim r alakojo/nim.nim --fullhelp # lai atunko
nim r —nimcache:/tmp akọkọ # alakomeji ti a fipamọ sinu /tmp/main

  • Ṣafikun ofiri tuntun -hint:msgOrigin, eyiti yoo fihan ibi ti olupilẹṣẹ ti ṣe ipilẹṣẹ aṣiṣe/awọn ifiranṣẹ ikilọ. Eyi ṣe iranlọwọ nigbati ko han gbangba ibiti ifiranṣẹ ti wa.

  • Fikun asia — backend: js|c|cpp|objc (tabi -b:js, ati bẹbẹ lọ) lati yi ẹhin pada.

  • Ṣafikun --usenimcache asia lati ṣe agbejade awọn alakomeji si nimcache.

  • Awọn bọtini kuro: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • IwUlO nimsuggest bayi fihan kii ṣe ikede iṣaaju nikan, ṣugbọn ipo imuse fun ibeere defi kan.

Ni afikun, ọpọlọpọ awọn ayipada ni a ti ṣafikun si ile-ikawe boṣewa ati ọpọlọpọ awọn atunṣe kokoro.

orisun: linux.org.ru