Nim programmeerimiskeele versioon 1.2.0

Tutvustatakse süsteemi programmeerimiskeele väljalase Nim 1.2. Nim-keel kasutab staatilist tippimist ja selle loomisel on silmas peetud Pascalit, C++, Pythonit ja Lisp. Nim lähtekood kompileeritakse C-, C++- või JavaScripti esituseks. Seejärel kompileeritakse saadud C/C++ kood täitmisfailiks, kasutades mis tahes saadaolevat kompilaatorit (clang, gcc, icc, Visual C++), mis võimaldab teil saavutada C-le lähedase jõudluse, kui te ei võta arvesse käitamise kulusid. prügivedaja. Sarnaselt Pythoniga kasutab Nim ploki eraldajana taanet. Toetatakse metaprogrammeerimistööriistu ja -võimalusi domeenispetsiifiliste keelte (DSL) loomiseks. Projekti kood varustatud MIT litsentsi alusel.

Märkimisväärsed muudatused uues versioonis on järgmised:

  • Rakendatud uus prügivedaja ARC (“-gc:arc”).
  • Moodulis "suhkur"Lisatud on uued makrod, mis koguvad, kopeerivad ja hõivavad.
  • Lisatud uus makro "koos".
  • Standardteeki on lisatud suur osa uutest kõnedest, sealhulgas strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, times.fromUnixFloat, os.isRelativeTo, times.isLeapDay , net.getPeerCertificates, jsconsole.trace, jsconsole.table, jsconsole.exception, sequtils.countIt jne.
  • Lisatud uued moodulid std/stackframes ja std/compilesettings.
  • Kompilaatorisse on lisatud suvandid "—asm" (genereeritud koostekoodi analüüsimiseks) ja "-panics:on" sunnitud väljumiseks IndexErrori ja OverflowErrori vigade korral, ilma võimaluseta, et "try"-käitleja neid kinni saaks.
  • Täiustatud puhvri võimaliku ületäitumise tuvastamine.

Allikas: opennet.ru