2013-07-25 6 views
11

एमएल की कई बोलीभाषाएं हैं, और एसएमएल और ओकैमल सबसे लोकप्रिय हैं। एसएमएल और ओकैमल के बीच कई अंतर हैं, लेकिन इन दोनों को एमएल की बोलीभाषा माना जाता है। तो,एसएमएल और ओकैमल को एमएल की बोलीभाषा क्यों माना जाता है? एमएल की परिभाषा क्या है?

  1. एमएल की बोलियों के रूप में क्यों एसएमएल और OCaml माना जाता है?
  2. एमएल की बोली के रूप में एक भाषा को कैसे माना जा सकता है?
  3. यदि एमएल एसएमएल/ओकैमल नहीं है, तो एमएल की परिभाषा क्या है?

मुझे लगता है कि एमएल एसएमएल और ओकैमल का कुछ अंतर है, लेकिन मुझे कुछ विस्तृत परिभाषा नहीं मिल रही है।

+12

http://caml.inria.fr/about/history.en.html ओकैमल दुनिया से एक परिप्रेक्ष्य – camlspotter

+2

मुझे लगता है कि प्रकार प्रणाली को सबसे अधिक करना है, उन्हें बोली कहलाती है। स्पष्ट रूप से कुछ वाक्यविन्यास भी। –

उत्तर

7

कैमल्सपॉटर के लिंक में एमएल इतिहास का एक अच्छा अवलोकन है, और "कार्डेलि के एमएल" नामक लुका कार्डेलि द्वारा कार्यान्वयन का उल्लेख किया गया है। मैंने इसके लिए चारों ओर पोक किया, और यह पेपर पाया: ML under Unix। लुका कार्डेली "एमएल" के एक कार्यान्वयन का वर्णन है, और मैं बहुत यकीन है कि यह मानक ML से पहले बन जाएगा के रूप में यह दिनांकित 1983 है यह सार में सुविधाओं की सूची है कर रहा हूँ:

  • इंटरैक्टिव
  • दृढ़ता से
  • टाइप किया
  • बहुरूपी प्रकार प्रणाली
  • सार डेटा प्रकार
  • अपवाद
  • मॉड्यूल

यह एक बहुत अच्छी सूची है, हालांकि कुछ हिस्सों अस्पष्ट लगते हैं। मुझे लगता है कि यह सूची "एमएल मानी जाने" के लिए एक भाषा की विशेषताओं के बारे में अनौपचारिक परिभाषा के रूप में कार्य कर सकती है, हालांकि कुछ चीजें ध्यान देने योग्य हैं।

सिस्टम "इंटरैक्टिव" होने की आवश्यकता कुछ हद तक नाइट-पिकि कार्यान्वयन विस्तार है, शायद इस पेपर में वर्णित कार्यान्वयन के लिए विशिष्ट है। मानक एमएल कंपाइलर एमएलटन में एक इंटरैक्टिव आरईपीएल नहीं है (क्योंकि यह एक संपूर्ण प्रोग्राम अनुकूलक संकलक है), हालांकि मुझे संदेह है कि कोई भी गंभीरता से भाषा एमएलटन उपकरण एमएल नहीं सुझाता है।

इसके अलावा, "दृढ़ता से टाइप किया" बहुत अस्पष्ट है, इसलिए यह अधिक संदर्भ के लिए है कि पैरा के बाकी को पढ़ने के लायक है:

हर एमएल अभिव्यक्ति एक प्रकार है, जो स्थिर निर्धारित किया जाता है है। एक अभिव्यक्ति का प्रकार आमतौर पर सिस्टम द्वारा को बिना किसी प्रकार की परिभाषा की आवश्यकता के अनुमानित रूप से अनुमानित किया जाता है। एमएल प्रकार प्रणाली गारंटी देता है कि टाइप की जा सकने वाली कोई भी अभिव्यक्ति रन टाइम पर टाइप त्रुटियों को उत्पन्न नहीं करेगी। संकलन समय पर स्टेटिक टाइपशेकिंग जाल प्रोग्रामों में बग का एक बड़ा हिस्सा है।

यह सूची भी सभी मेल खाते पैटर्न उल्लेख नहीं है, तथापि कागज करता कवर पैटर्न मिलान, हालांकि मैं अगर उर-माले LCF में इस्तेमाल पैटर्न मिलान किया था, और नहीं तो पता नहीं है, कैसे बिना डेटा प्रकारों में हेरफेर करेगा। मैं तर्क दूंगा कि 2013 में, इन सुविधाओं के साथ एक भाषा, लेकिन पैटर्न मिलान की कमी, एमएल के रूप में बेचना मुश्किल होगा।

ध्यान दें कि यदि आप थोड़ा सा झुकाते हैं तो हास्केल ज्यादातर इस सूची के अनुरूप है।लेकिन व्यवहार में यह काफी अंतर पाया जाता है मुझे लगता है कि ज्यादातर लोगों को हास्केल पर विचार एमएल से प्रेरित है, लेकिन "नहीं एक एमएल", ज्यादातर क्योंकि हास्केल शुद्ध और है आलसी जबकि एमएल ऐतिहासिक अशुद्ध और सख्त किया गया है। इसके अलावा, एमएल मॉड्यूल सिस्टम, दोनों एसएमएल और ओकैमल में, हास्केल से काफी अलग है, और एमएल के न तो टाइपक्लास हैं।

यह आपके सभी सवालों के लिए एक संपूर्ण जवाब नहीं है, लेकिन मुझे उम्मीद है कि यह फिर भी मदद करता है।

+0

आपकी टिप्पणियों और यूनिक्स के तहत एमएल के लिए लिंक के लिए धन्यवाद। मैंने संदर्भों को पढ़ा और वेब की खोज की और आखिरकार 1 9 78 में प्रकाशित एक पेपर की खोज की [एलसीएफ में इंटरैक्टिव सबूत के लिए एक धातुभाषा] (http://www-public.int-evry.fr/~gibson/Teaching/CSC4504/ReadingMaterial/GordonMMNW78 .pdf) '। और इस पाओर लेखकों में लिखा, 'एमएल का एक पूरा विवरण, और पीपीएल के साथ इसका उपयोग, एक तकनीकी रिपोर्ट के रूप में मौजूद है: एडिनबर्ग एलसीएफ, 1 9 77'। मुझे लगता है कि यह एमएल का मूल पत्र हो सकता है। लेकिन मैं इसका एक एन ऑनलाइन संस्करण खोजने में विफल रहा। – InsaneRabbit

+0

और मुझे लगता है कि एमएल की बोली होने के बारे में कोई सख्त परिभाषा नहीं है। अगर कुछ भाषा में एसएमएल की पर्याप्त विशेषताएं हैं, तो इसे एमएल की बोली के रूप में बेचा जा सकता है। 'क्लाउड कंप्यूटिंग' की तरह, कोई सख्त परिभाषा नहीं है (वहां शायद मौजूद है लेकिन कौन परवाह करता है)। आजकल हर किसी के उत्पाद बादल हैं। – InsaneRabbit

+0

दिलचस्प, उस दूसरे पेपर के साथ अच्छी तरह से ढूंढें, मुझे आश्चर्य है कि यह तकनीकी रिपोर्ट है: http://www.amazon.com/Edinburgh-LCF-Mechanized-Computation-Computer/dp/3540097244। सामग्रियों की तालिका में एमएल का वर्णन करने वाले कुछ खंड होने लगते हैं। – spacemanaki

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