نم 1.2.0 ریلیز

نم سسٹم پروگرامنگ لینگویج کا نیا ورژن جاری کر دیا گیا ہے۔ اس میں ورژن 1.0 کے ساتھ جزوی عدم مطابقت ہے، مثال کے طور پر سخت قسم کی تبدیلی کی وجہ سے۔ لیکن اس معاملے میں ایک جھنڈا ہے -useVersion:1.0۔

اہم اختراع ایک نیا کچرا جمع کرنے والا ہے، جسے -gc:arc آپشن کے ذریعے فعال کیا گیا ہے۔ زبان کے مصنف، Andreas Rumpf، ARC کے فوائد کے بارے میں ایک تفصیلی مضمون لکھنے جا رہے ہیں، لیکن فی الحال وہ آپ کو پڑھنے کی دعوت دیتے ہیں۔ FOSDEM میں اپنی کارکردگی کے ساتھ، جو بینچ مارک کے نتائج دکھاتا ہے۔

  • کمپائلر اب تیار کردہ اسمبلی کوڈ کی زیادہ آسان جانچ کے لیے --asm آپشن کو سپورٹ کرتا ہے۔
  • الائن پراگما کو آبجیکٹ متغیرات اور فیلڈز پر استعمال کیا جا سکتا ہے، یہ C/C++ میں alignas کی طرح ہے۔
  • =سنک آپریٹر اب اختیاری ہے۔ کمپائلر اب اشیاء کو مؤثر طریقے سے منتقل کرنے کے لیے =destroy اور copyMem کا مجموعہ استعمال کر سکتا ہے۔
  • رن ٹائم کے وقت غیر دستخط شدہ عدد میں تبدیلیوں کی جانچ نہیں کی جاتی ہے۔ تفصیلات میں https://github.com/nim-lang/RFCs/issues/175
  • lvalue کے لیے نیا نحو: var b {.byaddr.} = expr، std/decls درآمد کے ذریعے منسلک
  • کمپائلر ایک نئے سوئچ -panics:on کو سپورٹ کرتا ہے، جو رن ٹائم کی غلطیوں جیسے IndexError یا OverflowError کو مہلک غلطیوں میں بدل دیتا ہے جنہیں کوشش کے ذریعے نہیں پکڑا جا سکتا۔ یہ رن ٹائم کی کارکردگی اور پروگرام کے سائز کو بہتر بنا سکتا ہے۔
  • تیار کردہ JS کوڈ خالی جگہوں اور ٹیبز کے مشتعل ہونے کے بجائے صرف خالی جگہوں کا استعمال کرتا ہے۔
  • کمپائلر نے .localPassc pragma کے لیے تعاون شامل کیا ہے، جسے C(++) فائل کے لیے خصوصی C(++) بیک اینڈ آپشنز کو ہینڈل کرنے کے لیے استعمال کیا جا سکتا ہے جو کہ موجودہ Nim ماڈیول سے تیار کی گئی ہے۔
  • نمپریٹی اب انڈینٹیشن ترتیب دینے کے لیے منفی دلیل کو قبول نہیں کرتا، کیونکہ یہ فائلوں کو توڑ رہا تھا۔
  • نئے میکرو شامل کیے گئے ہیں (جمع کریں، ڈوپ کریں، کیپچر کریں)، درآمدی چینی کے ذریعے جڑے ہوئے ہیں۔

اس کے علاوہ، معیاری لائبریری میں بہت سی تبدیلیاں شامل کی گئی ہیں اور بہت سے بگ فکس کیے گئے ہیں۔

ماخذ: linux.org.ru

نیا تبصرہ شامل کریں