Vrystelling van die Nim 1.2.0-programmeertaal

Bekendgestel stelsel programmeertaal vrystelling Nim 1.2. Die Nim-taal gebruik statiese tik en is geskep met die oog op Pascal, C++, Python en Lisp. Nim-bronkode word saamgestel in 'n C-, C++- of JavaScript-voorstelling. Vervolgens word die resulterende C/C++-kode saamgestel in 'n uitvoerbare lêer deur gebruik te maak van enige beskikbare samesteller (clang, gcc, icc, Visual C++), wat jou in staat stel om prestasie naby aan C te bereik, as jy nie die bestuurskoste in ag neem nie die vullisverwyderaar. Soortgelyk aan Python, gebruik Nim inkeping as blokafgrensers. Metaprogrammeringsinstrumente en vermoëns vir die skep van domeinspesifieke tale (DSL's) word ondersteun. Projek kode verskaf onder die MIT-lisensie.

Opvallende veranderinge in die nuwe weergawe sluit in:

  • Het 'n nuwe vullisverwyderaar geïmplementeer ARC ("-gc:boog").
  • In die module "suiker"Nuwe makro's is bygevoeg, versamel, dup en vang.
  • Bygevoeg nuwe makro "met".
  • 'n Groot gedeelte nuwe oproepe is by die standaardbiblioteek gevoeg, insluitend 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, ens.
  • Bygevoeg nuwe modules std/stackframes en std/compilesettings.
  • Opsies “—asm” (vir ontleding van gegenereerde samestellingkode) en “—panics:on” vir gedwonge uitgang op IndexError en OverflowError foute is by die samesteller gevoeg, sonder die moontlikheid om deur die “probeer” hanteerder onderskep te word.
  • Verbeterde opsporing van moontlike bufferoorvloeie.

Bron: opennet.ru

Voeg 'n opmerking