A Nim programozási nyelv 1.4.0-ás kiadása

Megjelent a Nim programozási nyelv új verziója, amely idén szeptemberben ünnepli az első stabil verziója megjelenésének egy évfordulóját. stabil verziója. A szintaxisa hasonló a Pythonhoz, teljesítményében pedig szinte a C++-t idézi. A következő forrásokból merít: GYIK a nyelv sok tekintetben a következőkből építkezik (fontság szerint rangsorolva): Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon.


Mindenhol működik, köszönhetően a C/C++/Objective-C/JS nyelvekre való fordítás lehetőségének. Támogatja makrókat, OOP-t, generikusokat, kivételkezelés, a kód forró cseréjét és még sok mást. Licenc: MIT.

A legfontosabb változások:

  • Megjelent egy új ORC szemétgyűjtő, amely az ARC algoritmusát használja, de különleges módon kezeli a ciklikus hivatkozásokat. Az opciók között aktiválható a —gc:orc. Az ARC/ORC különbségeiről nagyszerű cikk található.

  • Hozzáadva a funkciók szigorú definíciós módja, amely aktiválja az objektumok mutabilitásának további ellenőrzését. A pragma segítségével aktiválható {.experimental: "strictFuncs".} vagy az --experimental:strictFuncs megnyitásával.

  • A from kulcsszó most operátorként is használható.

  • Hozzáadva a .noalias pragma. Ez megfelel a C restrict kulcsszónak, hogy javítsa a hatékonyságot, amelyet ez a kifejezés nyújthat.

  • A konkrét figyelmeztetéseket most hibákká lehet alakítani —warningAsError[X]:on|off.

  • Új parancs: nim r main.nim [args…], amely lefordítja és futtatja a main.nim-t, és tartalmazza a —usenimcache-t, így az eredmény a $nimcache/main$exeExt helyre kerül, a nim c -r logikáját alkalmazva a rekonstrukció elkerülésére, ha a forráskód nem változott. Példa:

nim r compiler/nim.nim —help # első alkalommal lefordítva
echo ‘import os; echo getCurrentCompilerExe()’ | nim r — # ez is működik
nim r compiler/nim.nim —fullhelp # rekonstrukció nélkül
nim r —nimcache:/tmp main # a bináris mentve a /tmp/main helyre

  • Hozzáadva egy új tipp —hint:msgOrigin, amely megmutatja, hol generálta a fordító a hibákat/figyelmeztetéseket. Ez segít, amikor nem világos, honnan jött az üzenet.

  • Hozzáadva a —backend:js|c|cpp|objc (vagy -b:js stb.) jelző a backend váltásához.

  • Hozzáadva a —usenimcache jelző a binárisok nimcache-be való mentéséhez.

  • Eldobva a kulcsok: —oldNewlines, —laxStrings, —oldast, —oldgensym.

  • A nimsuggest eszköz most már nemcsak a deklarációt, hanem a megvalósítás elhelyezését is mutatja a def kérésre.

Emellett számos változás történt a standard könyvtárban és sok hiba javítva lett.

Forrás: linux.org.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster