Skip to content

RFC: عقد الغياب في الجلب — من فراغ متجوّل إلى اختياري مصنَّف - #58

Open
SalehKadah wants to merge 8 commits into
mainfrom
rfc/عقد-الغياب-في-الجلب

Hidden character warning

The head ref may contain hidden characters: "rfc/\u0639\u0642\u062f-\u0627\u0644\u063a\u064a\u0627\u0628-\u0641\u064a-\u0627\u0644\u062c\u0644\u0628"
Open

RFC: عقد الغياب في الجلب — من فراغ متجوّل إلى اختياري مصنَّف#58
SalehKadah wants to merge 8 commits into
mainfrom
rfc/عقد-الغياب-في-الجلب

Conversation

@SalehKadah

Copy link
Copy Markdown
Contributor

الملخص

اليوم يعبر «الفراغ» (ناتج غياب المفتاح في الجلب الديناميكي) جدارَ الأنواع بتحذير استشاري لا بخطأ: خانة معلنة «نص» تصبح حاملة لفراغ والتنفيذ يمضي (مقيس، exit=0). يقترح الـRFC سدّ الثقب على ثلاث مراحل تبني على بنية أمان العدم القائمة (RFC 0003):

  • المرحلة أ: الفراغ لا يعبر إلى أي خانة مصنّفة — ترقية التحذير إلى خطأ يحكمه محور الصرامة القائم (D6).
  • المرحلة ب: جلب مصنّف (خريطة_اجلب_نص/رقم/منطقي) يرجع اختياريًا — الغياب عدم داخل عقد اختاره المبرمج، فيعمل عليه «؟؟» و«؟.» و«مؤكد».
  • المرحلة ج (أفق): الخرائط المعمّمة — تُذكر كي لا تسدّها القرارات.

قرارات مثبّتة

  • عقد العالم الديناميكي «الغياب فراغ لا عدم» لا يُمسّ (محروس ببذرة خضراء).
  • «حاضر بنوع مغاير» و«حاضر بعدم مخزّن» في الجلب المصنّف كلاهما خطأ تشغيل — العدم في الناتج يعني الغياب حصرًا (سدّ التباس Map.get في Java).
  • الوسيط البديل الثالث في خريطة_احصل يبقى ويوثَّق في SoT (دَين توثيق قائم).
  • صيغة القيمتين على نمط Go محجوبة ببذرتين حمراوين معلنتين (تفكيك الزوج يعلّق المترجم).

راجعه وكيلا تدقيق (ادعاءات ضد الكود + تصميم) وأُدمجت كل الملاحظات؛ الفاحص lint_rfcs.py يعطيه نجاحًا.

🤖 Generated with Claude Code

SalehKadah and others added 8 commits July 21, 2026 11:22
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant