Ġiet rilaxxata verżjoni ġdida tal-lingwa ta' programmar tas-sistema Nim, li f'Settembru f'Settembru ċċelebrat l-anniversarju tagħha. l-ewwel verżjoni stabbli. Il-lingwa hija simili fis-sintassi għal Python, u kważi bħal C++ fil-prestazzjoni. Skond FAQ Il-lingwa tissellef ħafna minn (f'ordni ta' kontribuzzjoni): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.
Jaħdem kullimkien grazzi għall-abbiltà li tiġbor f'C/C++/Objective-C/JS. Jappoġġja makro, OOP, ġeneriċi, eċċezzjonijiet, skambju tal-kodiċi sħun u ħafna aktar. Liċenzja: MIT.
L-aktar bidliet sinifikanti:
-
Hemm kollettur taż-żibel ORC ġdid li juża l-algoritmu minn ARC, iżda fl-istess ħin jimmaniġġja referenzi ċirkolari b'mod speċjali. Ippermettiet mill-għażla -gc:orc. Dwar id-differenzi ARC/ORC hemm artiklu kbir.
-
Ġie miżjud mod għal definizzjonijiet stretti tal-funzjoni, li jippermetti kontroll addizzjonali għall-mutabilità tal-oġġett. Attivat permezz tal-pragma {.experimental: "strictFuncs".} jew permezz taċ-ċavetta --experimental:strictFuncs.
-
Il-keyword minn issa tista' tintuża bħala operatur.
-
Miżjud .noalias pragma. Jimmappja mal-keyword C restrizzjoni biex tiżdied l-effiċjenza li l-keyword tista 'tipprovdi.
-
Twissijiet speċifiċi issa jistgħu jinbidlu fi żbalji permezz --warningAsError[X]:on|off.
-
Kmand ġdid: nim r main.nim [args...], li jikkompila u jmexxi main.nim, u jinkludi --usenimcache sabiex ir-riżultat jinħażen f'$nimcache/main$exeExt, bl-użu tal-istess loġika bħal nim c - r biex teħles mir-rikompilazzjoni meta s-sorsi ma nbidlux. Eżempju:
nim r compiler/nim.nim --help # miġbura għall-ewwel darba
echo 'import os; echo getCurrentCompilerExe()' | nim r - # dan jaħdem ukoll
nim r compiler/nim.nim --fullhelp # mingħajr rikompilazzjoni
nim r —nimcache:/tmp main # binarju salvat f'/tmp/main
-
Żid ħjiel ġdid -hint:msgOrigin, li se juri fejn il-kompilatur ġġenera messaġġi ta' żball/twissija. Dan jgħin meta ma jkunx ovvju minn fejn ġie l-messaġġ.
-
Miżjud il-bandiera —backend:js|c|cpp|objc (jew -b:js, eċċ.) biex tbiddel il-backend.
-
Miżjud --usenimcache flag għall-output binarji għal nimcache.
-
Ċwievet imneħħija: --oldNewlines, --laxStrings, --oldast, --oldgensym
-
L-utilità nimsuggest issa turi mhux biss id-dikjarazzjoni minn qabel, iżda wkoll il-post tal-implimentazzjoni għal talba def.
Barra minn hekk, ġew miżjuda ħafna bidliet fil-librerija standard u bosta bug fixes.
Sors: linux.org.ru