نوع التحسين
في نظرية الأنواع ، يُعرف نوع التحسين [ 1 ] [ 2 ] [ 3 ] بأنه نوع مزود بشرط يُفترض تحققه لأي عنصر من عناصر هذا النوع المُحسَّن. يمكن لأنواع التحسين التعبير عن الشروط المسبقة عند استخدامها كوسائط للدوال، أو الشروط اللاحقة عند استخدامها كأنواع مُعادة : على سبيل المثال، يمكن كتابة نوع دالة تقبل أعدادًا طبيعية وتُعيد أعدادًا طبيعية أكبر من 5 على النحو التالي:وبالتالي، ترتبط أنواع التحسين بالتصنيف الفرعي السلوكي .
تاريخ
طُرح مفهوم أنواع التحسين لأول مرة في كتاب فريمان وفينينغ "أنواع التحسين للغة ML" الصادر عام 1991 ، [ 1 ] والذي يُقدم نظامًا لأنواع مجموعة فرعية من لغة Standard ML . يحافظ نظام الأنواع هذا على قابلية استنتاج أنواع ML للتقرير، مع السماح في الوقت نفسه باكتشاف المزيد من الأخطاء أثناء الترجمة. وفي الآونة الأخيرة، طُوّرت أنظمة أنواع التحسين (بشكل أساسي في الأوساط الأكاديمية) للغات مثل هاسكل ، [ 4 ] [ 5 ] وتايب سكريبت ، [ 6 ] وراست ، [ 7 ] ، كما استُخدمت كمكتبات للاستخدام العملي في سكالا . [ 8 ] [ 9 ]
انظر أيضاً
مراجع
- 1 2 فريمان، ت.؛ بفينينغ، ف. (1991). "أنواع التحسين للغة ML" (ملف PDF) . وقائع مؤتمر ACM حول تصميم وتنفيذ لغات البرمجة . الصفحات 268-277 . doi : 10.1145/113445.113468 .
- ↑ هاياشي، س. (1993). "منطق أنواع التحسين". وقائع ورشة العمل حول أنواع البراهين والبرامج . ص 157-172 . CiteSeerX 10.1.1.38.6346 . doi : 10.1007/3-540-58085-9_74 .
- ↑ ديني، إي. (1998). "أنواع التحسين للمواصفات". وقائع المؤتمر الدولي للاتحاد الدولي لمعالجة المعلومات حول مفاهيم وأساليب البرمجة . المجلد 125. تشابمان وهول. الصفحات 148-166 . CiteSeerX 10.1.1.22.4988 .
- ↑ فازو، نيكي. ليكويد هاسكل: أنواع التحسين لهاسكل . الندوة الخامسة والأربعون لجمعية آلات الحوسبة SIGPLAN حول مبادئ لغات البرمجة (POPL 2018).
- ↑ فولكوف، نيكيتا (2015). "أنواع التحسين كمكتبة هاسكل" .
- ↑ بانايوتيس، فيكريس؛ كوسمان، بنيامين؛ جالا، رانجيت (2016). "أنواع التحسين لـ TypeScript". وقائع المؤتمر السابع والثلاثين لجمعية ACM SIGPLAN حول تصميم وتنفيذ لغات البرمجة . الصفحات 310-325 . arXiv : 1604.02480 . doi : 10.1145/2908080.2908110 .
- ↑ ليمان، نيكو؛ جيلر، آدم ت.؛ فازو، نيكي؛ جالا، رانجيت (6 يونيو 2023). "فلوكس: أنواع سائلة للغة رست" . وقائع مؤتمر ACM حول لغات البرمجة . 7 (PLDI): 169:1533–169:1557. doi : 10.1145/3591283 .
- ↑ توماس، فرانك (2025-09-08). "refined: أنواع تحسين بسيطة لـ Scala" . GitHub . مؤرشف من الأصل في 2025-08-21 . تم الاسترجاع في 2025-09-08 .
- ↑ فرومنتان، رافائيل (2025-09-08). "قيود أنواع قوية للغة سكالا" . جيت هاب . مؤرشف من الأصل في 2025-05-20 . تم الاسترجاع في 2025-09-08 .
- نظرية الأنواع
- أنظمة الكتابة
- مسودات نظرية لغات البرمجة
