मेरा सवाल यह है कि मानक एमएल मॉड्यूल सिस्टम और ओकैम मॉड्यूल सिस्टम के बीच कोई अंतर है? क्या OCaml मज़दूरों, शिलालेख आदि के सभी समर्थन है ... कि एसएमएल है?मानक एमएल के मॉड्यूल सिस्टम और ओकैम मॉड्यूल सिस्टम के बीच क्या अंतर है (यदि कोई है)?
उत्तर
कुछ भिन्नताएं हैं, साथ ही साथ अर्थात्।
सुविधाएँ एसएमएल का समर्थन करता है, लेकिन नहीं OCaml:
- पारदर्शी हस्ताक्षर जोड़ना
- मॉड्यूल स्तरीय
let
- सममित बंटवारे की कमी प्रकारों पर functors के लिए
- वाक्यात्मक चीनी और महत्व देता
विशेषताएं ओकैमल 4 में एसएमएल नहीं है:
- उच्च क्रम functors
- पुनरावर्ती मॉड्यूल
- स्थानीय मॉड्यूल
- नेस्टेड हस्ताक्षर प्रथम श्रेणी के रूप में
- मॉड्यूल को महत्व देता
- सामान्य मॉड्यूल बंटवारे (
sig with module A = M
) module type of
कई एसएमएल कार्यान्वयन इनमें से कुछ एक्सटेंशन के रूप में प्रदान करते हैं, हालांकि: उदा। उच्च ऑर्डर मल्टीक्टर (एसएमएल/एनजे, मॉस्को एमएल, एलिस एमएल), स्थानीय और प्रथम श्रेणी के मॉड्यूल (मॉस्को एमएल, एलिस एमएल), मॉड्यूल शेयरिंग (एसएमएल/एनजे, एलिस एमएल), नेस्टेड हस्ताक्षर (मॉस्को एमएल, एलिस एमएल) , और रिकर्सिव मॉड्यूल (मॉस्को एमएल)।
शब्दार्थ के लिहाज से, सबसे बड़ा अंतर प्रकार तुल्यता के उपचार में है, विशेष रूप से functors के संबंध में:
एसएमएल में, functors उत्पादक कर रहे हैं, कि करने के लिए दो बार एक ही functor लागू करने का अर्थ है जो एक ही तर्क हमेशा ताजा प्रकार पैदा करता है।
संपादित करें: ओकैम 4 ने वैकल्पिक रूप से मल्टीक्टर बनाने के लिए क्षमता को जोड़ा।
OCaml में, functors अनुप्रयोगी कर रहे हैं, जिसका अर्थ है कि एक ही functor ठीक उसी तर्क (प्लस अतिरिक्त वाक्यात्मक प्रतिबंध) करने के लिए दो बार आवेदन करने के बराबर प्रकार reproduces। यह अर्थशास्त्र अधिक लचीला है, लेकिन अमूर्तता भी तोड़ सकता है (उदाहरण के लिए हम this paper, धारा 8 में दिए गए उदाहरण देखें)।
ओकैमल में हस्ताक्षर की पूरी तरह से वाक्य रचनात्मक धारणा है, जिसका अर्थ है कि कुछ प्रकार के समकक्ष प्रकार प्रणाली द्वारा व्यक्त नहीं किए जा सकते हैं, और चुपचाप गिराए गए हैं या टूटा हुआ है (उदाहरण के लिए this bug एक आश्चर्यजनक उदाहरण के रूप में देखें)।
संपादित: OCaml 4.02 "मॉड्यूल उपनाम" है, जो बग संदर्भित में विशिष्ट उदाहरण ठीक करने के लिए होने के लिए एक विशेष अर्थ विज्ञान जोड़ा है, लेकिन वाक्यात्मक हस्ताक्षर के सामान्य सीमा बनी हुई है।
एक और उल्लेखनीय अंतर यह है कि OCaml के मॉड्यूल प्रकार प्रणाली सार हस्ताक्षर, जो एसएमएल की अनुमति नहीं है की अपनी अनुमति के कारण, अनिर्णनीय हैं (यानी, प्रकार की जाँच समाप्त नहीं हो सकता है) है।
- 1. py2exe - कोई सिस्टम मॉड्यूल 'pywintypes'
- 2. शून्य और सिस्टम के बीच क्या अंतर है। DBNull.Value?
- 3. सिस्टम कॉल और लाइब्रेरी कॉल के बीच क्या अंतर है?
- 4. क्या शीर्ष-स्तरीय मॉड्यूल और स्थानीय मॉड्यूल के बीच कोई अंतर है?
- 5. ओरेकल SYS और सिस्टम खातों के बीच क्या अंतर है?
- 6. ब्राउज़र एनीमेशन मॉड्यूल और NoopAnimationsModule के बीच क्या अंतर है?
- 7. फ्रीज में "पैकेज" और "मॉड्यूल" के बीच क्या अंतर है?
- 8. हास्केल मॉड्यूल 'सिस्टम'
- 9. SystemJS मॉड्यूल सिस्टम
- 10. मेकअप: मॉड्यूल 'सिस्टम'
- 11. "क्लासिक" और "मॉड्यूल" वेब वर्कर के बीच क्या अंतर है?
- 12. एफ # में नामस्थान और मॉड्यूल के बीच क्या अंतर है?
- 13. बंद करने और मॉड्यूल के बीच क्या अंतर है?
- 14. पायथन में मॉड्यूल और लाइब्रेरी के बीच क्या अंतर है?
- 15. पृष्ठभूमिवर्कर और सिस्टम के बीच अंतर। थ्रेडिंग।
- 16. यूनिक्स सिस्टम में पायथन - getmtime() और getctime() के बीच अंतर
- 17. ढांचे के भीतर एक मॉड्यूल सिस्टम बनाना
- 18. एक ऑपरेटिंग सिस्टम में, सिस्टम कॉल और बाधा के बीच क्या अंतर है?
- 19. एनईटी 4 में एन्युमेरेटफाइल और एन्युमेरेटफाइल सिस्टम सिस्टम के बीच क्या अंतर है?
- 20. कक्षा और मॉड्यूल के बीच अंतर
- 21. मॉड्यूल और साझा पुस्तकालयों के बीच अंतर?
- 22. कक्षा पथ, फ़ाइल सिस्टम के बीच क्या अंतर है?
- 23. केवल 'AMD' और 'सिस्टम' मॉड्यूल --out
- 24. पायथन, पायइंस्टॉलर त्रुटि: "एनकोडिंग" नामक कोई मॉड्यूल और सिस्टम कोडेक
- 25. नोड.जेएस क्लस्टर मॉड्यूल और लर्नबोस्ट क्लस्टर मॉड्यूल के बीच क्या अंतर है?
- 26. उत्तरदायी टेम्पलेट मॉड्यूल और कॉपी मॉड्यूल के बीच क्या अंतर है?
- 27. रूबी में "मॉड्यूल शामिल करें" और "मॉड्यूल का विस्तार" के बीच क्या अंतर है?
- 28. ऑपरेटिंग सिस्टम में livelock और भुखमरी के बीच मतभेद (यदि कोई है)
- 29. एक पर्ल मॉड्यूल स्थापित करने और पूरे फ़ोल्डर की प्रतिलिपि बनाने के बीच क्या अंतर है?
- 30. क्या $ @ और "$ @" के बीच कोई अंतर है?
मुझे लगता है कि आपको * भविष्य * मॉड्यूल सिस्टम के बारे में कुछ लेने का मौका लेना चाहिए, या इन फीचर सेटों के तरीके से अधिक सटीक तरीके से मॉड्यूल सिस्टम पर "हालिया" (अधिकांशतः आपका) शोध की उचित शुरुआत मानने के तरीके को और अधिक सटीक तरीके से लेना चाहिए एक एमएल भाषा का पुनरावृत्ति। यह एक * बेहद * दिलचस्प जवाब में एक बहुत ही रोचक जवाब बदल जाएगा। – gasche
मुझे लगता है कि इसके लिए सवाल को पिगबैक करना अनुचित है;)। मेरा व्यक्तिगत उत्तर एफ-आईएनजी मॉड्यूल पेपर I लिंक में जो कुछ भी है, वह बहुत अधिक होगा - यह सभी सूचीबद्ध सुविधाओं को एक स्वच्छ और (काफी) सरल तरीके से (जेनरेटिव और आवेदक दोनों मर्चेंट्स सहित), कम से कम रिकर्सिव मॉड्यूल को कम करता है। उन लोगों के लिए मैं इतना यकीन नहीं कर रहा हूँ। ओकैमल के रिकर्सिव मॉड्यूल बहुत ही अनुकूल हैं और मेरे स्वाद के लिए सीमित हैं, लेकिन अंततः एमएल मॉड्यूल बनाने के एक बड़े हिस्से को छोड़ने के लिए एक व्यापक दृष्टिकोण होगा, जैसा कि हम मिक्सएमएल पेपर में वर्णन करते हैं। जूरी अभी भी इस बात से बाहर है कि यह इसके लायक है या नहीं। –
@AndreasRossberg मुझे यकीन नहीं है कि मिक्सएमएल के संदर्भ में प्रमुख भाग एमएल मॉड्यूल को छोड़कर आप क्या मतलब रखते हैं, जिस पेपर में आपने उल्लेख किया है कि एमएल मॉड्यूल को मिक्सएमएल स्पेक्ट्रम पर अंतिम बिंदु के रूप में देखा जा सकता है। (मुझे सही करें यदि मैं गलत हूं, मॉड्यूल बनाने के लिए मूल विचार पैरामीटर के बजाए कंपन द्वारा किया गया था) – fedvasu