Jauna versija sistēmas programmatūras valodai Nim, kurai šajā septembrī apritēja gads kopš pirmā stabilā izlaiduma . Sintakse ir līdzīga Python, bet veiktspēja ir gandrīz kā C++. Saskaņā arvaloda daudz ko aizguvusi no (svarīguma secībā): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon. BUJ Tā darbojas visur, pateicoties iespējamai kompilācijai uz C/C++/Objective-C/JS. Tajā tiek atbalstīti
makro OOP, izņēmumi, ģenerikas, karstā koda apmaiņa, un daudz kas cits. Licence — MIT. Visnozīmīgākās izmaiņas:
Parādījās jauns atkritumu savācējs ORC, kas izmanto algoritmu no ARC, bet īpaši apstrādā cikliskās atsauces. Ieslēdzams ar opciju —gc:orc. Par atšķirībām ARC/ORC
-
Atslēgas vārds from tagad var tikt izmantots kā operators.
Pievienota pragma .noalias. Tā sakrīt ar atslēgas vārdu C restrict, lai palielinātu efektivitāti, ko var sniegt šis vārds.
Konkrētas brīdināšanas tagad var pārvērst par kļūdām, izmantojot —warningAsError[X]:on|off.
Jauna komanda: nim r main.nim [args…], kas kompilē un palaiž main.nim, un iekļauj —usenimcache, lai rezultāts tiktu saglabāts $nimcache/main$exeExt, izmantojot to pašu loģiku kā nim c -r, lai novērstu atkārtotu kompilāciju, kad avota kods nav mainījies. Piemērs:
nim r compiler/nim.nim —help # kompilēts pirmo reizi
echo ‘import os; echo getCurrentCompilerExe()’ | nim r — # tas arī strādā
nim r compiler/nim.nim —fullhelp # bez atkārtotas kompilācijas
nim r —nimcache:/tmp main # binārais fails saglabāts /tmp/main
Pievienota jauna noderīgā padoms —hint:msgOrigin, kas parāda, kur kompilators ģenerēja kļūdu/brīdinājumu ziņojumus. Tas palīdz, kad nav skaidrs, no kurienes nāk ziņojums.
Pievienots karogs —backend:js|c|cpp|objc (vai -b:js u.t.t.) bākene maiņai.
Pievienots karogs —usenimcache, lai izvadītu bināros failus nimcache.
Izdzēsti atslēgas: —oldNewlines, —laxStrings, —oldast, —oldgensym
Rīks nimsuggest tagad parāda ne tikai iepriekšējo paziņojumu, bet arī īstenošanas atrašanās vietu pēc vaicājuma def.
Turklāt pievienoti daudzi uzlabojumi standarta bibliotēkai un daudzi kļūdu labojumi.
Turklāt pievienotas daudzas izmaiņas standarta bibliotēkā un daudzi labojumi.
Avots: linux.org.ru
