الترحيل من 0.6 إلى 0.7
منقول من الكتاب المرجعي: docs/handbook/migration/0.6-to-0.7.md · الإيداع 7a52f6c
المصدر: CHANGELOG.md (وثيقة في مستودع المجمّع) (قسم 0.7.0) وmigration-log.md (وثيقة في مستودع المجمّع). برنامج
0.6 صحيح يبقى صحيحاً وبالناتج نفسه في 0.7.0 إلا ما في «ما قد يتغير» أدناه؛ الاختبارات تشغّل كل البرامج المرجعية
القديمة وتقارن ناتجها.
ما تغيّر في نموذج الذاكرة
رابط إلى قسم «ما تغيّر في نموذج الذاكرة»0.6 كانت تعدّ المراجع: النص والقائمة والقاموس تُعاد حين لا يحملها أحد. 0.7 لا تعدّ: كل ذلك يُحجز من مخصص
(الافتراضي إن لم يُذكر)، ويعود بـحرر أو عند خروج البرنامج.
| في 0.6 | في 0.7 |
|---|---|
| لا شيء يُكتب لإعادة الذاكرة | البرنامج القصير كما هو؛ الطويل يعيد ما ينتهي منه بـحرر أو خاتمه حرر أو ساحة |
| الإسناد يشارك الحاوية | كما هو |
--debug-mem يعدّ «القيم المُدارة» |
يبلّغ ما لم يُحرَّر من الافتراضي معلومة لا خطأ، ومن مخصص صريح إنذار |
MEEM_RC_REPORT |
يُقبل ولا أثر له |
# برنامج 0.6 يعمل كما هواسماء قائمة[نص] = []لكل ع في مدى(0, 3): اضف(اسماء, "اسم" + نص(ع))اطبع(اسماء)حلقة طويلة تبني نصوصاً
رابط إلى قسم «حلقة طويلة تبني نصوصاً»في 0.6 كان النص المؤقت يعود في كل دورة. في 0.7 يبقى حتى الخروج: ذروة الذاكرة تكبر (برنامج نصوص قيس 12 ← 135 م.ب،
v1-readiness.md (وثيقة في مستودع المجمّع)). الإصلاح سطر واحد:
اخر = ""لكل ع في مدى(0, 1000): ن = "سطر " + نص(ع) خاتمه حرر(ن) اخر = نص(طول(ن))اطبع(اخر)أو ساحة للدورة كلها (كل ما يُبنى فيها يعود بـاعد): الذاكرة: المخصصات وخاتمه.
ما أُضيف (لا يمسّ برنامجاً قائماً)
رابط إلى قسم «ما أُضيف (لا يمسّ برنامجاً قائماً)»خاتمه، والمخصصات (مخصص، النظام، الافتراضي، ساحة، كاشف، مخزن_ثابت، اعد)، وقائمة_من ونسخ بمخصص، وجزء
ودمج_نصوص، والطبقة المنخفضة (خطر، احجز، الشرائح، حوّل، الأنواع بحجم ثابت، بلا_فحص، --no-unsafe)، وعمليات
البتات، ووضع بلا_افتراضي.
ما قد يتغير
رابط إلى قسم «ما قد يتغير»- معالجة الأخطاء كاسرة: دوال
ملفاتوعدد(نص)وكسر(نص)وحاول_احجزصارت!نوع، وبرنامج يستدعيها بلاجرّبأووالالا يُترجم. الجدول والإصلاح في الترحيل إلى معالجة الأخطاء (0.7.0). خاتمهوخطرصارتا كلمتين محجوزتين: برنامج يسمّي متغيراً بإحداهما خطأ ترجمة. (لم يستعملهما أي برنامج مرجعي.)- دالة تحمل اسم مدمجة جديدة (
احجز،ساحة…): تحذير حجب، يصير خطأً مع--strictلمدمجات 0.7.0. ومدمجات المرحلة الأخيرة (بحث،رتب…) تحذيرها استشاري لا يكسر--strict. &و|و^و~كانت خطأً لفظياً؛ صارت معاملات بتات علىعدد، وعلى المنطقي خطأ دلالي يرشد إلىوواو.- رسالة عدد الوسائط لـ
جديدوحررتذكر المخصص الاختياري. - ذروة الذاكرة في برامج النصوص الطويلة (أعلاه).
المرحلة الأخيرة من 0.7.0 (دُمجت في الإصدار)
رابط إلى قسم «المرحلة الأخيرة من 0.7.0 (دُمجت في الإصدار)»هيكل_سي ونص_سي ومؤشر الدالة، والدوال الرئيسية (بحث ويحوي ورتب…)، ودوال ملفات ونظام.التاريخ الجديدة،
ومعالجة الأخطاء (الترحيل إلى معالجة الأخطاء (0.7.0)) والتعداد و--no-system.
وإصلاح: حجم_النوع لهيكل فيه عدد بعد حقل أصغر صار بمحاذاة الهدف (كان أصغر)، واطبع على شريحة يطبع عناصرها.