تم إصدار نسخة جديدة من لغة برمجة نظام 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