سؤال

كنت أقرأ ورقة بحثية حول هاسكل وكيف HList ينفذ أتساءل عندما التقنيات الموضحة وليس decidable نوع المدقق.أيضا, لأنك يمكن أن تفعل أشياء مماثلة مع GADTs ، أنا أتساءل عما إذا GADT نوع التحقق دائما decidable.

وأود أن تفضل الاستشهادات إذا كان لديك لهم حتى أستطيع قراءة/فهم تفسيرات.

وذلك بفضل!

هل كانت مفيدة؟

المحلول

أعتقد GADT نوع التحقق دائما decidable;هو الاستدلال الذي هو غير مقرر ، كما أنها تتطلب أعلى أجل التوحيد.ولكن GADT نوع المدقق هو مقيد شكل دليل لعبة الداما ترى في على سبيل المثال.Coq ، حيث المنشئات بناء دليل الأجل.على سبيل المثال ، مثال كلاسيكي من التضمين امدا حساب التفاضل والتكامل في GADTs لديه منشئ لكل الحد من القاعدة, لذا إذا كنت تريد أن تجد شكل طبيعي من الأجل ، عليك أن تقول ذلك مما المنشئات سوف تحصل عليه.وقف المشكلة قد تم نقله إلى يد المستخدم :-)

نصائح أخرى

ربما كنت قد شهدت بالفعل هذا ولكن هناك مجموعة من الأوراق على هذه المسألة في أبحاث مايكروسوفت: نوع التحقق من الأوراق.أول واحد يصف decidable الخوارزمية المستخدمة فعلا في غلاسكو هاسكل مترجم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top