Nim programmēšanas valodas izlaidums 1.2.0

Iesniedzis sistēmas programmēšanas valodas izlaidums Nim 1.2. Nim valoda izmanto statisko rakstīšanu, un tā tika izveidota, ņemot vērā Pascal, C++, Python un Lisp. Nim pirmkods tiek apkopots C, C++ vai JavaScript attēlojumā. Pēc tam iegūtais C/C++ kods tiek apkopots izpildāmā failā, izmantojot jebkuru pieejamo kompilatoru (clang, gcc, icc, Visual C++), kas ļauj sasniegt veiktspēju tuvu C, ja neņem vērā palaišanas izmaksas. atkritumu savācējs. Līdzīgi kā Python, Nim izmanto atkāpi kā bloku atdalītājus. Tiek atbalstīti metaprogrammēšanas rīki un iespējas domēnam specifisku valodu (DSL) izveidei. Projekta kods piegādāts saskaņā ar MIT licenci.

Būtiskas izmaiņas jaunajā laidienā ietver:

  • Ieviests jauns atkritumu savācējs ARC (“-gc:arc”).
  • Modulī "cukurs"Pievienoti jauni makro apkopošana, dublēšana un tveršana.
  • Pievienots jauns makro "ar".
  • Standarta bibliotēkai ir pievienota liela daļa jaunu zvanu, tostarp 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 utt.
  • Pievienoti jauni moduļi std/stackframes un std/compilesettings.
  • Opcijas "—asm" (ģenerētā montāžas koda analīzei) un "-panics:on" piespiedu iziešanai IndexError un OverflowError kļūdu gadījumā ir pievienotas kompilatoram, bez iespējas tos pārtvert apdarinātājs "try".
  • Uzlabota iespējamu bufera pārpildes noteikšana.

Avots: opennet.ru

Pievieno komentāru