In nije ferzje fan de programmeertaal Nim systeem is útbrocht, dy't dizze septimber har ienjierrich jubileum fierde. earste stabile ferzje. De taal is yn syntaksis gelyk oan Python, en hast as C ++ yn prestaasjes. Neffens FAQ De taal lient swier oan (yn folchoarder fan bydrage): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.
Wurket oeral troch de mooglikheid om te kompilearjen yn C/C++/Objective-C/JS. It stipet makro's, OOP, generika, útsûnderingen, hot koade swap en safolle mear. lisinsje: MIT.
De wichtichste feroarings:
-
Der is in nije ORC garbage collector dy't it algoritme fan ARC brûkt, mar tagelyk sirkulêre ferwizings op in spesjale manier behannelet. Ynskeakele troch de -gc:orc opsje. Oer de ARC / ORC ferskillen der is in geweldich artikel.
-
In modus foar strange funksje definysjes is tafoege, dy't mooglik makket in ekstra kontrôle foar objekt mutability. Aktivearre fia it pragma {.experimental: "strictFuncs".} of fia de --experimental:strictFuncs-kaai.
-
It trefwurd fan kin no brûkt wurde as operator.
-
Added .noalias pragma. It mapt oan it kaaiwurd C beheine om de effisjinsje te ferheegjen dy't it kaaiwurd kin leverje.
-
Spesifike warskôgings kinne no feroare wurde yn flaters fia --warningAsError[X]:on|út.
-
Nij kommando: nim r main.nim [args...], dy't main.nim kompilearret en útfiert, en omfettet --usenimcache sadat it resultaat wurdt opslein yn $nimcache/main$exeExt, mei deselde logika as nim c - r te krijen rid fan út recompilation doe't de boarnen binne net feroare. Foarbyld:
nim r compiler/nim.nim --help # kompilearre foar de earste kear
echo 'ymport os; echo getCurrentCompilerExe()' | nim r - # dit wurket ek
nim r compiler/nim.nim --fullhelp # sûnder rekompilaasje
nim r —nimcache:/tmp main # binêr bewarre yn /tmp/main
-
In nije hint tafoege -hint:msgOrigin, dy't sil sjen litte wêr't de kompilator flater- / warskôgingsberjochten generearre. Dit helpt as it net dúdlik is wêr't it berjocht wei kaam.
-
Flagge tafoege —backend:js|c|cpp|objc (of -b:js, ensfh.) om de backend te feroarjen.
-
Added --usenimcache flagge foar útfier binaries nei nimcache.
-
Keys fuortsmiten: --oldNewlines, --laxStrings, --oldast, --oldgensym
-
It nut fan nimsuggest toant no net allinich de pre-ferklearring, mar ek de ymplemintaasjelokaasje foar in def-fersyk.
Derneist binne in protte wizigingen tafoege oan 'e standertbibleteek en in protte bugfixes.
Boarne: linux.org.ru