Nim programmēšanas valodas izlaidums 1.4.0

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