Lëshimi i gjuhës së programimit Nim 1.2.0

prezantuar lëshimi i gjuhës programuese të sistemit Nim 1.2. Gjuha Nim përdor shtypjen statike dhe u krijua me një sy në Pascal, C++, Python dhe Lisp. Kodi burimor Nim përpilohet në një përfaqësim C, C++ ose JavaScript. Më pas, kodi që rezulton C/C++ përpilohet në një skedar të ekzekutueshëm duke përdorur çdo përpilues të disponueshëm (clang, gcc, icc, Visual C++), i cili ju lejon të arrini performancë afër C, nëse nuk merrni parasysh kostot e ekzekutimit grumbulluesi i plehrave. Ngjashëm me Python, Nim përdor dhëmbëzimin si ndarës të bllokut. Mbështeten mjetet dhe aftësitë e metaprogramimit për krijimin e gjuhëve specifike të domenit (DSL). Kodi i projektit furnizuar nën licencën MIT.

Ndryshimet e dukshme në versionin e ri përfshijnë:

  • Zbatoi një grumbullues të ri mbeturinash BOW ("-gc:arc").
  • Në modulin "sheqer"Makro të reja të shtuara mblidhen, dup dhe kap.
  • U shtua makro e re "me".
  • Një pjesë e madhe e thirrjeve të reja janë shtuar në bibliotekën standarde, duke përfshirë strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, times.fromUnixFloat, os.isRelativeLeapDay, times. , net.getPeerCertificates, jsconsole.trace, jsconsole.table, jsconsole.exception, sequtils.countIt, etj.
  • U shtuan module të reja std/stackframes dhe std/compilesettings.
  • Opsionet "—asm" (për analizën e kodit të montimit të gjeneruar) dhe "-panics:on" për dalje të detyruar në IndexError dhe OverflowError gabimet janë shtuar në kompajler, pa mundësinë e përgjimit nga mbajtësi i "provës".
  • Zbulimi i përmirësuar i tejmbushjeve të mundshme të tamponit.

Burimi: opennet.ru

Shto një koment