إصدار نيم 1.2.0

تم إصدار نسخة جديدة من لغة برمجة نظام Nim. لديه عدم توافق جزئي مع الإصدار 1.0 ، على سبيل المثال بسبب تحويل النوع الأقوى. ولكن في هذه الحالة يوجد إصدار علم -use: 1.0.

الابتكار الرئيسي هو أداة تجميع نفايات جديدة ، يتم تمكينها بواسطة الخيار --gc: arc. سيقوم مؤلف اللغة Andreas Rumpf بكتابة مقال تفصيلي حول فوائد ARC ، لكنه يقترح في الوقت الحالي قراءة مع حديثه FOSDEM، والتي تظهر النتائج المعيارية.

  • يدعم المترجم الآن خيار --asm لتسهيل فحص كود المجمع الناتج.
  • يمكن استخدام براغما المحاذاة في متغيرات الكائنات والحقول ، على غرار المحاذاة في C / C ++.
  • عامل التشغيل = اختياري الآن. يمكن للمترجم الآن استخدام مزيج من = إتلاف و copyMem لنقل الكائنات بكفاءة.
  • لا يتم فحص التحويلات إلى أعداد صحيحة بدون إشارة في وقت التشغيل. التفاصيل في https://github.com/nim-lang/RFCs/issues/175
  • بناء جملة جديد لـ lvalue: var b {.byaddr.} = expr ، مضمن عبر استيراد الأمراض المنقولة جنسياً / decls
  • يدعم المترجم خيارًا جديدًا --panics: on يحول أخطاء وقت التشغيل مثل IndexError أو OverflowError إلى أخطاء فادحة لا يمكن اكتشافها من خلال المحاولة. يمكن أن يؤدي ذلك إلى تحسين كفاءة وقت التشغيل وحجم البرنامج.
  • يستخدم كود JS الذي تم إنشاؤه مسافات بدلاً من خليط من المسافات وعلامات التبويب.
  • تمت إضافة دعم لـ .localPassc pragma إلى المترجم ، والذي يمكن استخدامه للتعامل مع خيارات الواجهة الخلفية C (++) الخاصة لملف C (++) الذي تم إنشاؤه من وحدة Nim الحالية.
  • لم يعد Nimpretty يقبل حجة سلبية للمسافة البادئة ، لأن هذا من شأنه أن يكسر الملفات.
  • تمت إضافة وحدات ماكرو جديدة (تجميع ، نسخ ، التقاط) متصلة عبر استيراد السكر.

بالإضافة إلى ذلك ، تمت إضافة العديد من التغييرات إلى المكتبة القياسية والعديد من إصلاحات الأخطاء.

المصدر: linux.org.ru

إضافة تعليق