RFC: الوضعُ الحرُّ والخلفيّةُ الأصليّةُ في سِتِّ خانات — لا في خانةٍ واحدة - #60
Open
SalehKadah wants to merge 11 commits into
Hidden character warning
The head ref may contain hidden characters: "rfc/\u0627\u0644\u0648\u0636\u0639-\u0627\u0644\u062d\u0631-\u0641\u064a-\u0633\u062a-\u062e\u0627\u0646\u0627\u062a"
Open
RFC: الوضعُ الحرُّ والخلفيّةُ الأصليّةُ في سِتِّ خانات — لا في خانةٍ واحدة#60SalehKadah wants to merge 11 commits into
SalehKadah wants to merge 11 commits into
Conversation
3 قدرات تُطفئ أرضيّة C الهلعيّة في نهلة: @لا_ترجع (سمة دالّة لا تعود ⇒ unreachable) + هلع ص (__sad_panic) + إعادة تسمية مدمج hlt («توقف» يصادم break) إلى أسبِت_المعالج (فعل-أوّلًا). تُطفئ bee_halt_forever والهلع. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ثلاثُ مراحلَ تبني على بنيةِ أمانِ العدم (RFC 0003): (أ) الفراغُ لا يعبر الخاناتِ المصنّفةَ إلا خطأً يحكمه محورُ الصرامة، (ب) جلبٌ مصنَّفٌ يُرجِع اختياريًّا فيصير الغيابُ قيمةً يفرض النظامُ فحصَها، (ج) أفقُ الخرائطِ المعمَّمة. الدافعُ مقيسٌ لا مظنون: خانةٌ معلنةٌ «نص» تحمل فراغًا بتحذيرٍ استشاريٍّ وexit=0. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… موضعيّ قرارُ نطاقٍ كان سيقبع في تعليق سكربت قياسٍ نثريّ (درسُ «قائمة إذن في تعليق تتعفن») يصير نصًّا في الـRFC ذاته. ويُثبَّت أن الإيقاف في الدرجة القاطعة يقع موضعَ الخرق (RuntimeAbort) لا عند فحص نهاية البرنامج — قِيس أن التأجيل يُنفِّذ الأعراضَ الجانبية بعد الخرق داخل أجسام الدوال. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
عند تنفيذ الموجة أ٢ (المحلّل الساكن المشترك + الحارس الزمنيّ قبل STORE) قِيست أربعة انحرافات عن الصياغة المطلقة الأولى، فتُقيَّد هنا وفق عرف «لا نسخة منثورة لحقيقة تغيّرت»: مدى الخلفيات (LLVM وحدها اليوم)، وافتراضيُّ الحارس الزمنيّ بلا أعلام (تحذير لا صرامة بنية السياسة — درسُ أ١ نفسُه)، وفيصلُ التصنيف (سجلُّ التصريح الأماميّ لا نوعُ الخانة المولَّدة، لأن المسح المسبق يجعلها SadDyn منذ الحجز)، وحدودُ التغطية المعلنة (معاملات المترجَم، العامّ العابر للدوالّ، خانات الماكرو). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…، وديون موروثة معلنة يقيَّد ما قِيس عند تنفيذ المرحلة ب والإصلاحين المرافقين: - سدُّ معاملات المترجَم (الحارس في موضع النداء قبل الفكّ — الفيصل سجلٌّ لكل معامل لا الفضاء المسطّح) وحدُّ النداء غير المباشر المعلن. - صدق فاحص الأنواع («وُجد 'فراغ'» بدل «رقم» المختلَق) واستبعاد الدوالّ المتداخلة من مسح اليقين. - جواب السؤال المفتوح: «منطقي؟» عبر %SadDyn بلا سباكة جديدة. - رسالة RUN074 المترجَمة: قبل حاجز «حاول»، نسق «%s» ثابت، وفرق صياغةٍ معلَن عن كتالوج المفسّر. - إرجاء تقييد وصف type.void (سطره ملموس بعمل أجنبي غير مودَع) وثلاثة ديون موروثة قيست وأُعلنت بطاقات متابعة. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
أربعة بنود مقيسة عند التنفيذ: إصلاح الخانة العارية (ConstantVoid عبر STORE وترقية Unknown+Void إلى Any)، حارس المستقبِل الضيّق عمدًا (سجلّ العدد الصحيح المتغيّر حدّ معلَن)، حقول الأصناف المصنَّفة (declaredKind في المواقع الأربعة، الموروث مدموج، حدود معلَنة)، وتكافؤ الكتابة المفهرسة مع حدّ المصفوفة المتجانسة. ودَين جديد مقيس: وسم الفراغ في حقول الكائن العارية مترجَمًا (MEMBER_SET/GET بلا ذراع ConstantVoid). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
وثّقت: وسم الفراغ في حقول الكائن (ConstantVoid + المسح المسبق، لا ترقية أمامية)، توحيد قناة الجلب المصنَّف (%SadDyn للثلاثة — سدّ تصادم kSadNullSentinel)، باب إبلاغ SEM045 الواحد، ذراع الصدقية الموسومة في الشرط. والديون الباقية: الحساب على غياب موسوم يعطي صفرًا صامتًا مترجَمًا، حقل مصنَّف عبر متغيّر كائن بلا قطع ترجمة، وتباعد «دالة بناء()» بانيًا (نقض VE049 — بطاقة مستقلة). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…واحدة الخلفيّةُ الأصليّةُ (بلا LLVM) والوضعُ الحرُّ محروسانِ في خانةٍ واحدةٍ من سِتّ: Linux × Release. والسببُ بنيويٌّ لا سياسيّ: هدفُ sad-build كلُّه ملفوفٌ بـ `if(ENABLE_LLVM_BACKEND AND LLVM_FOUND)`، فالخلفيّةُ التي لا تحتاجُ LLVM محبوسةٌ داخلَ شرطِ وجودِها. والقياسُ يقولُ إنّ الفكَّ أرخصُ ممّا يبدو: خمسةُ ملفّاتٍ فقط من ثلاثةَ عشرَ تُضمِّنُ ترويسةَ LLVM فعلًا، و compiler_driver_native.cpp نظيفٌ تمامًا (صفرُ ترويسة)، والترويسةُ المشتركةُ compiler_driver.h نظيفةٌ كذلك. والثمنُ مقيسٌ لا مُفترَض: علّةُ prove_riscv64_decl_parity.sh عاشت ستَّ جولاتِ CI لأنّ الخانةَ الكاشفةَ واحدةٌ في ذيلِ أطولِ وظيفة. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ستبعَد - تصحيح: الوضعُ الحرُّ مقيسٌ على ويندوز Release أيضًا ⇒ ٢/٦ لا ١/٦. - ما نُفِّذَ فعلًا: الملفُّ الوحيدُ الذي يلمسُ LLVM هو compiler_driver_backend.cpp؛ والباقي إمّا ترويساتٌ ميّتة، أو هادمُ unique_ptr (⇒ shared_ptr)، أو تشخيصٌ نُقلَ قرارُه إلى ترويسةٍ بلا LLVM يستدعيها مولّدُ LLVM بمُحوِّلٍ اسميّ. - برهانُ التصريف: بصمةُ ELF (١٨ صورة) بسِقّاطةٍ ثنائيّةِ الاتّجاه. - جوابُ الأسئلةِ الثلاثةِ المفتوحة. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
كُتِبَ في الحاشيةِ ¹ أنّ ويندوز Debug «حدٌّ تقنيٌّ معلَنٌ ومُعلَّل»، وقِيسَ فتبيّنَ أنّ شرطَ العلاجِ لا يُعرَّفُ في المستودعِ فلا يمكنُ أن يصيرَ صادقًا. صُحِّحَ الجدارُ الثاني والحاشيةُ ¹ بالقياس، وأُضيفت الحاشيةُ ² تشرحُ لماذا براهينُ التنفيذِ الحيِّ على لينكسَ وحدَها: الخلفيّةُ تكتبُ ELF64 حصرًا ولا مُحمِّلَ له في ويندوز (PE) ولا ماك (Mach-O) — حدٌّ في المبدأ لا ثغرةُ تشغيل. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
الخلفيّةُ الأصليّةُ (بلا LLVM) والوضعُ الحرُّ محروسانِ اليومَ في خانةٍ واحدةٍ من
سِتّ. وهذا المقترحُ يفكُّ الحبسَ البنيويَّ الذي يجعلُ ذلك ضروريًّا — أنّ الخلفيّةَ
الأصليّةَ، وهي بلا LLVM في مصدرِها، محبوسةٌ داخلَ هدفِ بناءٍ لا يُعرَّفُ إلّا إذا
وُجدت LLVM — ثمّ يوسّعُ الحراسةَ إلى الخاناتِ الستِّ بالحدِّ الذي تسمحُ به كلُّ منصّة.
التنفيذُ نزلَ فعلًا في
s-programming-language#435، والنصُّ محدَّثٌ بالقياسِ لابالتقدير: القسمُ «ما نُفِّذَ فعلًا» يحملُ الجدولَ المصحَّحَ وجوابَ الأسئلةِ الثلاثةِ
المفتوحة.
🤖 Generated with Claude Code