2010-09-04 17 views
16

मैं कार्यात्मक भाषाओं के लिए विशेष रूप से जानकारी के लिए प्रकार की अनुमान लगाने के लिए प्रसिद्ध Damas-Hindley-Milner algorithm के बारे में जानकारी ढूंढ रहा हूं।दमास-हिंडली-मिलनर प्रकार अनुमान एल्गोरिदम कार्यान्वयन

मुझे पहले से ही पता है कि Algorithm W कैसे करें, लेकिन मैंने सामान्य एकीकरण के बजाय बाधा जनरेटर/सॉल्वर पर आधारित हाल के नए एल्गोरिदम के बारे में सुना। हालांकि, मैं उन नए एल्गोरिदम के कार्यान्वयन के बारे में कोई चर्चा नहीं कर पा रहा हूं।

कोई विचार जहां मुझे एमएल अनुमान पर कुछ आंशिक जानकारी मिल सकती है?

+0

रहे हैं के साथ उनका मिलान (बहुरूपता जाने सहित) आप सुनिश्चित करते हैं कि बाधा उत्पन्न/हल करना टाइपिंग सिस्टम के लिए उप प्रकार के साथ नहीं था, उदाहरण के लिए एचएम (एक्स) परिवार में से एक (हिंडली-मिलनर एक उप-संबंध संबंध द्वारा पैरामीटर)? –

+0

मैंने पढ़ा है कि इसे एचएम (एक्स) परिवार के लिए सबटाइपिंग के साथ इस्तेमाल किया जा सकता है, लेकिन टाइप क्लासेस (पैरामीट्रिक पॉलिमॉर्फिज्म) जैसी चीजों के लिए भी, इसलिए मैं थोड़ी परेशान हूं – Vinz

+0

टाइप क्लासेस पैरामीट्रिक पॉलिमॉर्फिज्म के लिए कुछ हद तक ऑर्थोगोनल हैं। मुझे लगता है कि पास्कल क्यूक सही हो सकता है। मुझे यकीन नहीं है कि मैंने मानक एमएल में टाइप पुनर्निर्माण के लिए सादे ओल 'बाधा उत्पादन और एकीकरण के लिए कोई गंभीर विकल्प देखा है, उदाहरण के लिए। वैकल्पिक दृष्टिकोण निश्चित रूप से प्रस्तावित किए गए एक्सटेंशन के प्रकार के लिए उपयोगी हो जाएंगे। – Gian

उत्तर

15

यदि आप एमएल कोड के साथ सहज हैं, तो इन चीजों को ढूंढने का सबसे अच्छा तरीका केवल जंगली में कार्यान्वयन को देखना है। एक अच्छा संदर्भ कार्यान्वयन HaMLet है, जिसे उत्पादन कार्यान्वयन के बजाय परीक्षण प्लेटफॉर्म के रूप में डिज़ाइन किया गया है।

इन मुद्दों के लगभग सभी गंभीर हालिया चर्चा विद्वानों के स्थानों में होने जा रही है। एक पेपर जो ब्याज का हो सकता है Generalising Hindley-Milner type inference algorithms है।

इसके अलावा, विभिन्न प्रकार के सिस्टम के कार्यान्वयन में पियर्स की "Types and Programming Languages", साथ ही एप्पल के "Modern Compiler Implementation in ML" और अधिक बारीकी से आधुनिक दृष्टिकोण एल्गोरिथ्म के वेनिला विवरण की तुलना में इस लागू करने डब्ल्यू

+0

हामलेट के लिए रेफरी के लिए धन्यवाद, मुझे नहीं पता था कि इस तरह की परियोजना मौजूद थी! – Vinz

+0

@ विंज़, हाँ, यह बहुत साफ है। यह उत्तराधिकारी एमएल पर कुछ (प्रतीत होता है) कार्य के साथ जुड़ा हुआ है। – Gian

+0

मैं इस दिन पूरे दिन भाग गया - यह टाइप क्लासेस के साथ प्रकार अनुमान के साथ बाधा हैंडलिंग नियमों से संबंधित है: http://arxiv.org/abs/cs/0006034 – Gian

संबंधित मुद्दे