Nim ծրագրավորման լեզվի թողարկում 1.2.0

Ներկայացվել է համակարգի ծրագրավորման լեզվի թողարկում Nim 1.2. Nim լեզուն օգտագործում է ստատիկ մուտքագրում և ստեղծվել է Pascal-ի, C++-ի, Python-ի և Lisp-ի վրա: Nim-ի սկզբնական կոդը կազմվում է C, C++ կամ JavaScript ներկայացման մեջ: Այնուհետև, ստացված C/C++ կոդը կազմվում է գործարկվող ֆայլում՝ օգտագործելով ցանկացած հասանելի կոմպիլյատոր (clang, gcc, icc, Visual C++), ինչը թույլ է տալիս հասնել C-ին մոտ կատարողականություն, եթե հաշվի չեք առնում գործարկման ծախսերը: աղբահավաքը. Python-ի նման, Nim-ը օգտագործում է նահանջը որպես բլոկի սահմանազատիչներ: Աջակցվում են մետածրագրավորման գործիքներ և հնարավորություններ՝ տիրույթին հատուկ լեզուներ (DSL) ստեղծելու համար: Ծրագրի կոդը մատակարարված MIT լիցենզիայի ներքո:

Նոր թողարկման ուշագրավ փոփոխությունները ներառում են.

  • Իրականացրել է նոր աղբահան ARC («-gc:arc»):
  • Մոդուլում «շաքար«Ավելացվեցին նոր մակրոներ հավաքել, կրկնօրինակել և գրավել:
  • Ավելացվեց նոր մակրո «հետ»:
  • Նոր զանգերի մեծ մասը ավելացվել է ստանդարտ գրադարանին՝ ներառյալ 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 և այլն։
  • Ավելացվել են նոր մոդուլներ std/stackframes և std/compilesettings:
  • Կոմպիլյատորին ավելացվել են «—asm» (գեներացված հավաքման կոդի վերլուծության համար) և «—panics:on»՝ IndexError-ի և OverflowError սխալների հարկադիր ելքի համար՝ առանց «փորձել» մշակողի կողմից ընդհատվելու հնարավորության:
  • Բուֆերային հնարավոր արտահոսքի բարելավված հայտնաբերում:

Source: opennet.ru

Добавить комментарий