Ir iznākusi jauna Nim sistēmas programmēšanas valodas versija, kas šogad septembrī svinēja viena gada jubileju. pirmā stabilā versija. Valoda pēc sintakses ir līdzīga Python un gandrīz kā C++ pēc veiktspējas. Saskaņā ar FAQ Valoda ir ļoti aizņemta no (ieguldījuma secībā): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.
Darbojas visur, pateicoties iespējai kompilēt C/C++/Objective-C/JS. Tā atbalsta makro, OOP, ģenēriskās zāles, izņēmumi, karstā koda maiņa un daudz vairāk. Licence: MIT.
Būtiskākās izmaiņas:
-
Ir jauns ORC atkritumu savācējs, kas izmanto ARC algoritmu, bet tajā pašā laikā īpašā veidā apstrādā apļveida atsauces. Iespējo ar opciju -gc:orc. Par ARC/ORC atšķirībām ir lielisks raksts.
-
Ir pievienots režīms stingrām funkciju definīcijām, kas ļauj papildus pārbaudīt objektu mainīgumu. Aktivizēts, izmantojot pragma {.experimental: "strictFuncs".} vai --experimental:strictFuncs taustiņu.
-
Atslēgvārdu no tagad var izmantot kā operatoru.
-
Pievienota .noalias pragma. Tas tiek kartēts uz C ierobežojošo atslēgvārdu, lai palielinātu atslēgvārda sniegto efektivitāti.
-
Konkrētus brīdinājumus tagad var pārvērst par kļūdām, izmantojot --warningAsError[X]:on|off.
-
Jauna komanda: nim r main.nim [args...], kas apkopo un palaiž main.nim, un ietver --usenimcache, lai rezultāts tiktu saglabāts mapē $nimcache/main$exeExt, izmantojot to pašu loģiku kā nim c - r, lai atbrīvotos no pārkompilācijas, kad avoti nav mainījušies. Piemērs:
nim r compiler/nim.nim --help # apkopots pirmo reizi
echo 'importēt os; echo getCurrentCompilerExe()’ | nim r - # tas arī darbojas
nim r kompilators/nim.nim --fullhelp # bez atkārtotas kompilācijas
nim r —nimcache:/tmp main # binārais fails saglabāts mapē /tmp/main
-
Pievienots jauns mājiens -hint:msgOrigin, kas parādīs, kur kompilators ģenerēja kļūdu/brīdinājuma ziņojumus. Tas palīdz, ja nav skaidrs, no kurienes nāk ziņojums.
-
Pievienots karodziņš —backend:js|c|cpp|objc (vai -b:js utt.), lai mainītu aizmugursistēmu.
-
Pievienots --usenimcache karodziņš, lai izvadītu bināros failus uz nimcache.
-
Noņemtas atslēgas: --oldNewlines, --laxStrings, --oldast, --oldgensym
-
Lietderība nimsuggest tagad parāda ne tikai iepriekšēju deklarāciju, bet arī def pieprasījuma ieviešanas vietu.
Turklāt standarta bibliotēkai ir pievienotas daudzas izmaiņas un daudzi kļūdu labojumi.
Avots: linux.org.ru