صف الاستدلال من نوع Damas-Milner بطريقة يمكن أن يفهم طالب CS101

StackOverflow https://stackoverflow.com/questions/1109509

سؤال

Hindley-Milner هو نظام النوع الذي هو أساس أنظمة النوع العديد من لغات البرمجة الوظيفية المعروفة. Damas-Milner هي خوارزمية تتخصص (dectuces؟) الأنواع في نظام من نوع Millener.

ويكيبيديا يعطي وصفا للخوارزمية التي، بقدر ما أستطيع أن أقول، بكتابة كلمة واحدة: "التوحيد". هل هذا كل ما في الأمر؟ إذا كان الأمر كذلك، فهذا يعني أن الجزء المثير للاهتمام هو نظام النوع نفسه وليس نظام الاستدلال النوع.

إذا كان داماس ميلنر أكثر من مجرد توحيد، أود الحصول على وصف لداماس ميلنر الذي يتضمن مثالا بسيطا، ومن الناحية المثالية، بعض الكود.

أيضا، غالبا ما يقال هذه الخوارزمية للقيام بالتناسم النوع. هل هو حقا نظام الاستدلال؟ اعتقدت أنه كان فقط تخصيص الأنواع.

أسئلة ذات صلة:

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

المحلول

داماس ميلنر هو مجرد استخدام منظم للتوحيد.

عندما يرفض في تعبير Lambda، فإنه يشكل اسما متغيرا جديدا. عندما تجد، في حالة فرعية، ابحث عن هذا المتغير المستخدم بطريقة تتطلب نوعا معينا، فإنه يسجل توحيد هذا المتغير وهذا النوع. إذا حاولت توحيد نوعين لا معنى له، مثل القول أن متغير فردي كلاهما كثيرة ووظيفة من أ -> ب، ثم يصرخ عليك لفعل شيء سيء.

أيضا، غالبا ما يقال هذه الخوارزمية للقيام بالتناسم النوع. هل هو حقا نظام الاستدلال؟ اعتقدت أنه كان فقط تخصيص الأنواع.

تدوين الأنواع هو نوع الاستدلال. التحقق لمعرفة هذه التعليقات التعليقات التوضيحية صالحة لمصطلح معين هو التحقق من النوع. هم مشاكل مختلفة.

إذا كان الأمر كذلك، فهذا يعني أن الجزء المثير للاهتمام هو نظام النوع نفسه وليس نظام الاستدلال النوع.

يشيع الصال عموما أن أنظمة نوع أسلوب الهندرنر متوازنة متوازنة على CUSP. إذا قمت بإضافة المزيد من الوظائف، يصبح من المستحيل استنتاج الأنواع. لذا اكتب ملحقات النظام التي يمكنك من خلالها طبقة أعلى نظام من نوع نمط ميلنر هندلي دون تدمير خصائص الاستدلال لها هي حقا الأجزاء المثيرة للاهتمام من اللغات الوظيفية الحديثة. في بعض الحالات، نحن نخلط استنتاج النوع ونوع التحقق، على سبيل المثال لا يمكن استنتاج الكثير من الملحقات الحديثة، ولكن يمكن التحقق منها، لذلك يتطلبون التعليقات التوضيحية من أجل الميزات المتقدمة، مثل العودية متعددة الجنسية.

نصائح أخرى

يعطي ويكيبيديا وصفا للخوارزمية التي، بقدر ما أستطيع أن أقول، مبالغ كلمة واحدة: "التوحيد". هل هذا كل ما في الأمر؟ إذا كان الأمر كذلك، فهذا يعني أن الجزء المثير للاهتمام هو نظام النوع نفسه وليس نظام الاستدلال النوع.

IIRC، الجزء المثير للاهتمام من خوارزمية الاستدلال من نوع Damas-Milner W هو أنه ينطوي على الأنواع العامة الممكنة.

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