Išleista nauja Nim sistemos programavimo kalbos versija, kuri šį rugsėjį atšventė vienerių metų sukaktį. pirmoji stabili versija. Kalba sintaksė yra panaši į Python ir beveik kaip C++. Pagal Dažnai užduodami klausimai Kalba labai pasiskolinta iš (pagal indėlį): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.
Veikia visur dėl galimybės kompiliuoti C/C++/Objective-C/JS. Tai palaiko makrokomandas, OOP, generiniai vaistai, išimtys, karšto kodo keitimas ir daug daugiau. Licencija: MIT.
Svarbiausi pakeitimai:
-
Yra naujas ORC šiukšlių surinkėjas, kuris naudoja ARC algoritmą, bet tuo pačiu metu tvarko žiedines nuorodas ypatingu būdu. Įjungta naudojant -gc:orc parinktį. Apie ARC/ORC skirtumus yra puikus straipsnis.
-
Pridėtas griežtų funkcijų apibrėžimų režimas, kuris leidžia papildomai patikrinti objekto kintamumą. Suaktyvinama naudojant pragma {.experimental: "strictFuncs".} arba klavišu --experimental:strictFuncs.
-
Raktažodis nuo dabar gali būti naudojamas kaip operatorius.
-
Pridėta .noalias pragma. Jis susiejamas su C apribojimo raktiniu žodžiu, kad padidintų raktinio žodžio teikiamą efektyvumą.
-
Dabar konkrečius įspėjimus galima paversti klaidomis naudojant --warningAsError[X]:on|off.
-
Nauja komanda: nim r main.nim [args...], kuri kompiliuoja ir paleidžia main.nim ir apima --usenimcache, kad rezultatas būtų saugomas $nimcache/main$exeExt, naudojant tą pačią logiką kaip ir nim c - r atsikratyti iš perkompiliavimo, kai šaltiniai nepasikeitė. Pavyzdys:
nim r kompiliatorius/nim.nim --help # sudarytas pirmą kartą
echo 'importuoti os; echo getCurrentCompilerExe()' | nim r - # tai taip pat veikia
nim r kompiliatorius/nim.nim --fullhelp # be pakartotinio kompiliavimo
nim r —nimcache:/tmp main # dvejetainis failas išsaugotas /tmp/main
-
Pridėta nauja užuomina -hint:msgOrigin, kuri parodys, kur kompiliatorius sugeneravo klaidų / įspėjimų pranešimus. Tai padeda, kai neaišku, iš kur atėjo pranešimas.
-
Pridėta vėliavėlė —backend:js|c|cpp|objc (arba -b:js ir kt.), kad pakeistumėte vidinę programą.
-
Pridėta žyma --usenimcache, kad išvesties dvejetainiai failai į nimcache.
-
Pašalinti klavišai: --oldNewlines, --laxStrings, --oldast, --oldgensym
-
„Nimsuggest“ programa dabar rodo ne tik išankstinę deklaraciją, bet ir def užklausos įgyvendinimo vietą.
Be to, į standartinę biblioteką įtraukta daug pakeitimų ir daug klaidų pataisymų.
Šaltinis: linux.org.ru