Vydání programovacího jazyka Nim 1.4.0

Byla vydána nová verze programovacího jazyka Nim, který v září oslavil rok od svého oficiálního vydání první stabilní verze. Podobně jako Python má jazyk podobnou syntaxi, ale co se týče výkonu, blíží se C++. Podle Často kladené dotazy jazyka čerpá z různých zdrojů (seřazeno podle významu příspěvku): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.


Funguje všude díky možnosti kompilace do C/C++/Objective-C/JS. Podporuje makra, OOP, generiku, výjimky, horkou výměnu kódu a další. Licence - MIT.

Nejdůležitější změny:

  • Byl přidán nový garbage collector ORC, který používá algoritmus z ARC, ale speciálně zpracovává cyklické odkazy. Aktivuje se pomocí volby --gc:orc. O rozdílech mezi ARC/ORC je skvělý článek.

  • Byl přidán režim přísných definic funkcí, ve kterém se provádí dodatečná kontrola mutability objektů. Aktivuje se přes pragmu {.experimental: "strictFuncs".} nebo pomocí klíče --experimental:strictFuncs.

  • Klíčové slovo from může nyní být použito jako operátor.

  • Byla přidána pragma .noalias. Ta se mapuje na klíčové slovo C restrict, aby zvýšila efektivitu, kterou může toto slovo poskytnout.

  • Konkrétní varování lze nyní převést na chyby pomocí --warningAsError[X]:on|off.

  • Nový příkaz: nim r main.nim [args…], který kompiluje a spouští main.nim, a zahrnuje --usenimcache, což znamená, že výsledek bude uložen do $nimcache/main$exeExt, využívajíce stejnou logiku jako nim c -r pro odstranění překompilace, když se zdrojové kódy nezměnily. Příklad:

nim r compiler/nim.nim --help # poprvé zkompilováno
echo ‘import os; echo getCurrentCompilerExe()’ | nim r -- # to také funguje
nim r compiler/nim.nim --fullhelp # bez překompilace
nim r --nimcache:/tmp main # binární soubor uložen do /tmp/main

  • Byla přidána nová nápověda --hint:msgOrigin, která ukáže, kde kompilátor generoval zprávy o chybách/varováních. To pomáhá, když není jasné, odkud zpráva pochází.

  • Byla přidána vlajka --backend:js|c|cpp|objc (nebo -b:js atd.) pro změnu backendu.

  • Byla přidána vlajka --usenimcache pro výstup binárních souborů do nimcache.

  • Byly odstraněny klíče: --oldNewlines, --laxStrings, --oldast, --oldgensym

  • Nástroj nimsuggest nyní ukazuje nejen předběžné deklarace, ale také umístění implementace na žádost def.

Kromě toho byla přidána řada změn do standardní knihovny a mnoho oprav chyb.

Zdroj: linux.org.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster