Kutulutsidwa kwa chilankhulo cha pulogalamu ya Nim 1.4.0

Chilankhulo chatsopano cha chinenero cha Nim system chatulutsidwa, chomwe September uno adakondwerera chaka chimodzi. mtundu woyamba wokhazikika. Chilankhulochi ndi chofanana mu syntax ku Python, ndipo pafupifupi ngati C ++ pakuchita. Malinga ndi FAQ Chilankhulocho chimabwereka kwambiri kuchokera ku (motsatira zopereka): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.


Imagwira ntchito kulikonse chifukwa cha kuthekera kophatikiza mu C/C++/Objective-C/JS. Imathandizira zazikulu, UWO, generics, kupatula, hot code kusinthana ndi zina zambiri. License: MIT.

Zosintha kwambiri:

  • Pali watsopano wotolera zinyalala wa ORC yemwe amagwiritsa ntchito algorithm kuchokera ku ARC, koma nthawi yomweyo amayang'anira maumboni ozungulira mwanjira yapadera. Yathandizidwa ndi -gc:orc njira. Za kusiyana kwa ARC/ORC pali nkhani yabwino.

  • Njira ya matanthauzo okhwima a ntchito yawonjezedwa, yomwe imathandizira cheke chowonjezera cha kusintha kwa chinthu. Amayatsidwa kudzera pa pragma {.experimental: "strictFuncs".} kapena kudzera pa --experimental:strictFuncs key.

  • The from keyword tsopano itha kugwiritsidwa ntchito ngati opareta.

  • Anawonjezera .noalias pragma. Imayika ku C restrict mawu osakira kuti muwonjezere mphamvu zomwe mawu osakira angapereke.

  • Machenjezo achindunji tsopano atha kusinthidwa kukhala zolakwika kudzera --warningAsError[X]:on|off.

  • Lamulo latsopano: nim r main.nim [args...], lomwe limapanga ndikuyendetsa main.nim, ndikuphatikiza --usenimcache kuti zotsatira zake zisungidwe mu $nimcache/main$exeExt, pogwiritsa ntchito malingaliro omwewo monga nim c - r kuchotsa ku recompilation pamene magwero sanasinthe. Chitsanzo:

nim r compiler/nim.nim --help # yopangidwa koyamba
echo 'kulowetsa os; echo getCurrentCompilerExe()' | nim r - # izi zimagwiranso ntchito
nim r compiler/nim.nim --fullhelp # popanda kubwezeretsanso
nim r β€”nimcache:/tmp main # binary yosungidwa mu /tmp/main

  • Yawonjezeranso malingaliro atsopano -hint:msgOrigin, omwe awonetsa komwe wopangayo adatulutsa mauthenga olakwika/machenjezo. Izi zimathandiza pamene sizikudziwika kumene uthengawo unachokera.

  • Wowonjezera mbendera -backend:js|c|cpp|objc (kapena -b:js, ndi zina zotero) kuti musinthe kumbuyo.

  • Wowonjezera --usenimcache mbendera kuti atulutse ma binaries ku nimcache.

  • Makiyi achotsedwa: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • Ntchito ya nimsuggest tsopano ikuwonetsa osati kulengeza kale, komanso malo ogwiritsira ntchito pempho la def.

Kuphatikiza apo, zosintha zambiri zawonjezedwa ku laibulale yokhazikika komanso kukonza zolakwika zambiri.

Source: linux.org.ru