न्यू जर्सी के मानक एमएल: Difference between revisions

From Vigyanwiki
(Created page with "{{Infobox programming language | name = Standard ML of New Jersey | logo = | paradigm = Multi-paradigm: functional programming langu...")
 
No edit summary
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Infobox programming language
{{Infobox programming language
| name = Standard ML of New Jersey
| name = न्यू जर्सी के स्टैंडर्ड एमएल
| logo =  
| logo =  
| paradigm = [[multi-paradigm programming language|Multi-paradigm]]: [[functional programming language|functional]], [[imperative programming|imperative]]
| paradigm = [[मल्टी-परदिगं प्रोग्रामिंग लैंग्वेज|मल्टी-परदिगं]]: [[फंक्शनल प्रोग्रामिंग लैंग्वेज|फंक्शनल]], [[अत्यावश्यक प्रोग्रामिंग|अनिवार्य]]
| year =  
| year =  
| designer =  
| designer =  
| latest_release_version = {{wikidata|property|reference|edit| Q239406 |P348}}
| latest_release_version = {{विकिडेटा|संपत्ति|संदर्भ|संपादित करें| Q239406 |P348}}
| latest_release_date = {{start date and age|{{wikidata|qualifier| Q239406 |P348|P577}}}}
| latest_release_date = {{प्रारंभ तिथि और आयु|{{विकीडेटा|क्वालीफायर| Q239406 |P348|P577}}}}
| typing = [[strong typing|strong]], [[static typing|static]], [[type inference|inferred]]
| typing = [[स्ट्रांग टाइपिंग|स्ट्रांग]], [[स्टैटिक टाइपिंग|स्टैटिक ]], [[प्रकार का अनुमान|अनुमान लगाया गया]]
| influenced_by = [[Standard ML]]
| influenced_by = [[स्टैंडर्ड एमएल]]
| influenced = [[Mythryl]]
| influenced = [[मिथ्रिल]]
| website = {{URL|www.smlnj.org}}
| website = {{URL|www.smlnj.org}}
| license = [[BSD-like license]]<ref>{{Cite web|url=http://www.smlnj.org/license.html|title=Standard ML of New Jersey License|website=www.smlnj.org}}</ref>
| license = [[बीएसडी जैसा लाइसेंस]]<ref>{{Cite web|url=http://www.smlnj.org/license.html|title=Standard ML of New Jersey License|website=www.smlnj.org}}</ref>
| File extensions = .sml
| File extensions = .sml
}}
}}


न्यू जर्सी का स्टैंडर्ड एमएल (एसएमएल/एनजे; न्यू जर्सी का स्टैंडर्ड मेटा-लैंग्वेज) एक [[मुफ़्त और ओपन-सोर्स सॉफ़्टवेयर]] है| स्टैंडर्ड [[सी (प्रोग्रामिंग भाषा)]] के लिए फ्री और ओपन-सोर्स कंपाइलर और प्रोग्रामिंग वातावरण है। इसके [[रनटाइम सिस्टम]] के अलावा, जो सी ([[प्रोग्रामिंग भाषा]]) में लिखा गया है, एसएमएल/एनजे [[मानक एमएल]] में लिखा गया है। इसे मूल रूप से [[बेल लैब्स]] और [[ प्रिंसटन विश्वविद्यालय ]] द्वारा संयुक्त रूप से विकसित किया गया था।<ref>{{Cite web|url=https://www.smlnj.org/smlnj.html|title=SML/NJ background information|website=www.smlnj.org|access-date=2018-09-05}}</ref>
'''न्यू जर्सी का स्टैंडर्ड ML''' ('''SML/NJ'''; न्यू जर्सी का स्टैंडर्ड मेटा-लैंग्वेज) स्टैंडर्ड ML प्रोग्रामिंग लैंग्वेज के लिए एक स्वतंत्र और ओपन-सोर्स कंपाइलर और प्रोग्रामिंग एनवायरनमेंट है। इसके [[रनटाइम सिस्टम]] के अतिरिक्त, जो C में लिखा जाता है, SML/NJ स्टैंडर्ड ML में लिखा जाता है। इसे मूल रूप से बेल लेबोरेटरीज और प्रिंसटन विश्वविद्यालय द्वारा संयुक्त रूप से विकसित किया गया था।<ref>{{Cite web|url=https://www.smlnj.org/smlnj.html|title=SML/NJ background information|website=www.smlnj.org|access-date=2018-09-05}}</ref>
इसका नाम अमेरिकी राज्य [[न्यू जर्सी]], जिसमें प्रिंसटन और बेल लैब्स स्थित हैं, और न्यू जर्सी के स्टैंडर्ड ऑयल, जो 20वीं सदी की शुरुआत में प्रसिद्ध तेल [[एकाधिकार]] था, दोनों का संदर्भ है।
 
इसका नाम अमेरिकी राज्य [[न्यू जर्सी]],, जिसमें प्रिंसटन और बेल लैब्स स्थित हैं, और न्यू जर्सी के स्टैंडर्ड ऑयल, जो कि 20वीं सदी के प्रारम्भ का प्रसिद्ध ऑयल [[एकाधिकार]] था, दोनों के संदर्भ हैं।


==सुविधाएँ==
==सुविधाएँ==


एसएमएल/एनजे कई अतिरिक्त शीर्ष-स्तरीय संरचनाओं के साथ एसएमएल'97 बेसिस लाइब्रेरी का विस्तार करता है:<ref name=":0">{{Cite web|url=https://www.smlnj.org/doc/features.html|title=SML/NJ Special Features|website=www.smlnj.org|access-date=2018-09-05}}</ref>
SML/NJ कई अतिरिक्त शीर्ष-स्तरीय संरचनाओं के साथ एसएमएल'97 बेसिस लाइब्रेरी का विस्तार करता है:<ref name=":0">{{Cite web|url=https://www.smlnj.org/doc/features.html|title=SML/NJ Special Features|website=www.smlnj.org|access-date=2018-09-05}}</ref>
* सिस्टम जानकारी - <code>SysInfo</code> संरचना रनटाइम सिस्टम के बारे में जानकारी प्रदान करती है, जैसे कि [[ऑपरेटिंग सिस्टम]] का प्रकार, प्रकार और संस्करण और मशीन [[ बहु ]] का समर्थन करती है या नहीं।<ref>{{Cite web|url=https://www.smlnj.org/doc/SMLofNJ/pages/sysinfo.html|title=The SYS_INFO signature|website=www.smlnj.org|access-date=2018-09-05}}</ref>
* '''सिस्टम इन्फो''' - <code>SysInfo</code>संरचना रनटाइम सिस्टम के बारे में जानकारी प्रदान करती है, जैसे [[ऑपरेटिंग सिस्टम]] का प्रकार, प्रकार और संस्करण और मशीन मल्टीप्रोसेसिंग का समर्थन करती है या नहीं।<ref>{{Cite web|url=https://www.smlnj.org/doc/SMLofNJ/pages/sysinfo.html|title=The SYS_INFO signature|website=www.smlnj.org|access-date=2018-09-05}}</ref>
* कमजोर संकेतक - <code>Weak</code> संरचना [[कमजोर सूचक]]ों के लिए सहायता प्रदान करती है।<ref>{{Cite web|url=https://www.smlnj.org/doc/SMLofNJ/pages/weak.html|title=कमजोर हस्ताक्षर|website=www.smlnj.org|access-date=2018-09-05}}</ref>
*'''वीक पॉइंटर''' - <code>Weak</code>स्ट्रक्चर वीक पॉइंटर्स के लिए समर्थन प्रदान करती है।<ref>{{Cite web|url=https://www.smlnj.org/doc/SMLofNJ/pages/weak.html|title=कमजोर हस्ताक्षर|website=www.smlnj.org|access-date=2018-09-05}}</ref>
* आलसी निलंबन - <code>Susp</code> संरचना [[आलसी मूल्यांकन]] के लिए आवश्यक निलंबन लागू करती है ([[उत्सुक मूल्यांकन]] के विपरीत)।<ref>{{Cite web|url=https://www.smlnj.org/doc/SMLofNJ/pages/susp.html|title=एसयूएसपी हस्ताक्षर|website=www.smlnj.org|access-date=2018-09-05}}</ref>
* '''लेजी सस्पेंशन''' - <code>Susp</code>स्ट्रक्चर लेजी इवैल्यूएशन के लिए आवश्यक सस्पेंशन को लागू करती है (एगर इवैल्यूएशन के विपरीत)।<ref>{{Cite web|url=https://www.smlnj.org/doc/SMLofNJ/pages/susp.html|title=एसयूएसपी हस्ताक्षर|website=www.smlnj.org|access-date=2018-09-05}}</ref>
* [[ संकलक ]] आंतरिक - <code>Internals</code> संरचना कई कंपाइलर आंतरिकों तक पहुंच प्रदान करती है, जिसमें सिग्नल तालिका को तुरंत चालू करने और संशोधित करने के तरीके भी शामिल हैं।<ref>{{Cite web|url=https://www.smlnj.org/doc/SMLofNJ/pages/internals.html|title=आंतरिक हस्ताक्षर|website=www.smlnj.org|access-date=2018-09-05}}</ref>
*'''कंपाइलर इंटरनल्स''' - <code>Internals</code>संरचना कई कंपाइलर इंटरनल्स तक पहुंच प्रदान करती है, जिसमें सिग्नल टेबल को इंस्टेंट करने और संशोधित करने के तरीके भी सम्मिलित हैं।<ref>{{Cite web|url=https://www.smlnj.org/doc/SMLofNJ/pages/internals.html|title=आंतरिक हस्ताक्षर|website=www.smlnj.org|access-date=2018-09-05}}</ref>
*असुरक्षित पहुंच - <code>Unsafe</code> संरचना डेटा संरचनाओं और रनटाइम-सिस्टम फ़ंक्शंस तक असुरक्षित पहुंच प्रदान करती है।<ref>{{Cite web|url=https://www.smlnj.org/doc/SMLofNJ/pages/unsafe.html|title=असुरक्षित संरचना|website=www.smlnj.org|access-date=2018-09-05}}</ref>
* '''अनसेफ एक्सेस''' - <code>Unsafe</code>संरचना डेटा संरचनाओं और रनटाइम-सिस्टम फ़ंक्शंस तक असुरक्षित पहुंच प्रदान करती है।<ref>{{Cite web|url=https://www.smlnj.org/doc/SMLofNJ/pages/unsafe.html|title=असुरक्षित संरचना|website=www.smlnj.org|access-date=2018-09-05}}</ref>
* दृश्यमान कंपाइलर संरचनाएं - एसएमएल/एनजे में ऐसी संरचनाएं भी शामिल हैं जो एमएल कंपाइलर तक पहुंच प्रदान करती हैं, जिसमें निष्पादन प्रोफाइलिंग, कंपाइलर त्रुटि-संदेश प्रिंटिंग और चेतावनियों का नियंत्रण, और अनुकूलन योग्य सुंदर प्रिंटिंग के लिए उप-संरचनाएं शामिल हैं।<ref>{{Cite web|url=https://www.smlnj.org/doc/Compiler/pages/compiler.html|title=दृश्यमान संकलक|website=www.smlnj.org|access-date=2018-09-05}}</ref>
*'''विसिबल कंपाइलर स्ट्रक्चर''' - SML/NJ में ऐसी संरचनाएं भी सम्मिलित हैं जो ML कंपाइलर तक पहुंच प्रदान करती हैं, जिसमें निष्पादन प्रोफाइलिंग, कंपाइलर एरर-मैसेज प्रिंटिंग और चेतावनियों का नियंत्रण, और अनुकूलन योग्य प्रेट्टी-प्रिंटिंग के लिए सब-स्ट्रक्चर सम्मिलित हैं।<ref>{{Cite web|url=https://www.smlnj.org/doc/Compiler/pages/compiler.html|title=दृश्यमान संकलक|website=www.smlnj.org|access-date=2018-09-05}}</ref>
इसके अतिरिक्त, SML/NJ कुछ वाक्यात्मक संरचनाएँ प्रदान करता है जो SML'97 की मानक विशेषताएँ नहीं हैं:<ref name=":0" />
इसके अतिरिक्त, SML/NJ कुछ वाक्यात्मक संरचनाएँ प्रदान करता है जो SML'97 की स्टैंडर्ड विशेषताएँ नहीं हैं:<ref name=":0" />


* वेक्टर अभिव्यक्ति और पैटर्न - एसएमएल/एनजे वेक्टर के निर्माण की अनुमति देता है <code>#[''exp''<sub>0</sub>, ''exp''<sub>1</sub>, ..., ''exp<sub>n</sub>''<sub>−1</sub>]</code> सिंटैक्स और अनुरूप सिंटैक्स के साथ उन पर पैटर्न-मिलान की अनुमति देता है।
* '''वेक्टर एक्सप्रेशन एंड पैटर्न्स''' - SML/NJ <code>#[''exp''<sub>0</sub>, ''exp''<sub>1</sub>, ..., ''exp<sub>n</sub>''<sub>−1</sub>]</code>सिंटैक्स के साथ वेक्टर के निर्माण की अनुमति देता है और उन पर समान सिंटैक्स के साथ पैटर्न-मिलान की अनुमति देता है।
* या-पैटर्न - एसएमएल/एनजे एक ही नियम में कई पैटर्न से मेल खाने की अनुमति देने के लिए एसएमएल'97 पैटर्न के सिंटैक्स का विस्तार करता है, बशर्ते प्रत्येक पैटर्न का उपयोग करके एक ही प्रकार हो <code>(''apat''<sub>1</sub> | ... | ''apat<sub>n</sub>'') => exp</code> .
* '''Or-पैटर्न''' - SML/NJ एक ही नियम में कई पैटर्न के मिलान की अनुमति देने के लिए एसएमएल'97 पैटर्न के सिंटैक्स का विस्तार करता है, बशर्ते प्रत्येक पैटर्न का एक ही प्रकार हो, <code>(''apat''<sub>1</sub> | ... | ''apat<sub>n</sub>'') => exp</code>का उपयोग करके।
* ऑब्जेक्ट भाषा एम्बेडिंग - एसएमएल/एनजे उद्धरण/एंटीकोट सिंटैक्स प्रदान करता है जो एमएल अभिव्यक्तियों और कार्यक्रमों के भीतर ऑब्जेक्ट भाषा के ठोस सिंटैक्स में अभिव्यक्तियों को एम्बेड करने की अनुमति देता है।<ref>{{Cite web|url=https://www.smlnj.org/doc/quote.html|title=SML/NJ Quote/Antiquote|website=www.smlnj.org|access-date=2018-09-05}}</ref>
* '''ऑब्जेक्ट लैंग्वेज एम्बेडिंग''' - SML/NJ उद्धरण/एंटीकोट सिंटैक्स प्रदान करता है जो ML एक्सप्रेशंस और फंक्शन्स के भीतर किसी ऑब्जेक्ट लैंग्वेज के हार्ड सिंटैक्स में एक्सप्रेशंस को एम्बेड करने की अनुमति देता है।<ref>{{Cite web|url=https://www.smlnj.org/doc/quote.html|title=SML/NJ Quote/Antiquote|website=www.smlnj.org|access-date=2018-09-05}}</ref>
* उच्च-क्रम मॉड्यूल - एसएमएल/एनजे फ़ंक्शनक्टर के रूप में मानक एमएल के पैरामीट्रिक मॉड्यूल के अलावा, फ़ैक्टर को संरचनाओं के घटक बनने की अनुमति देकर फ़ैक्टर के पैरामीट्रिज़ेशन का समर्थन करता है।
* '''हायर-आर्डर मॉड्यूल''' - SML/NJ, फ़ैक्टर के रूप में स्टैंडर्ड ML के पैरामीट्रिक मॉड्यूल के अलावा, फ़ैक्टर को स्ट्रक्चर के घटक बनने की अनुमति देकर फ़ैक्टर के पैरामीट्रिज़ेशन का समर्थन करता है।


==विकास==
==विकास==
उत्तराधिकारी एमएल एक शब्द है जिसका उपयोग भाषा के अगले संस्करण का वर्णन करने के लिए किया जाता है। इसका वर्णन करने वाले दस्तावेज़ SML/NJ '97 फ़ाइलों से निकाले गए हैं और [[TeX]] दस्तावेज़ों के [[GitHub]] भंडार के रूप में उपलब्ध कराए गए हैं, जिनसे समुदाय को सहयोग करने और भाषा को विकसित करने की उम्मीद है।<ref>{{cite web|url=https://github.com/SMLFamily/Successor-ML|title=उत्तराधिकारी एमएल परिभाषा|website=[[GitHub]] }}</ref> कमांड-लाइन विकल्प का उपयोग करके उत्तराधिकारी एमएल सुविधाओं को सक्षम किया जा सकता है <code>-Cparser.succ-ml=true</code>.<ref name="SUCC"/>
'''सक्सेसर ML''' एक शब्द है जिसका उपयोग लैंग्वेज के अगले संस्करण का वर्णन करने के लिए किया जाता है। इसका वर्णन करने वाले डॉक्यूमेंट SML/NJ '97 फ़ाइलों से निकाले गए हैं और [[TeX]] डाक्यूमेंट्स के [[GitHub]] रिपॉजिटरी के रूप में उपलब्ध कराए गए हैं, जिससे समुदाय को सहयोग करने और लैंग्वेज को विकसित करने की उम्मीद है।<ref>{{cite web|url=https://github.com/SMLFamily/Successor-ML|title=उत्तराधिकारी एमएल परिभाषा|website=[[GitHub]] }}</ref> सक्सेसर ML सुविधाओं को कमांड-लाइन ऑप्शन<code>-Cparser.succ-ml=true</code> का उपयोग करके सक्षम किया जा सकता है।<ref name="SUCC"/>  


कम से कम 1998 से,<ref>{{cite web|url=https://github.com/MLton/mlton/blob/master/CHANGELOG.adoc#version-19990319|title=MLton 1999-03-19 change notes|website=[[GitHub]] }}</ref> एमएलटन<ref>{{cite web|url=https://github.com/MLton/mlton|title=एमएलटन भंडार|website=[[GitHub]] }}</ref> मानक [[बूटस्ट्रैपिंग (संकलक)]]कंपाइलर) कंपाइलर है, और इसमें कुछ है<ref name="IMPL"/>उत्तराधिकारी एमएल के लिए समर्थन।
कम से कम 1998 से,<ref>{{cite web|url=https://github.com/MLton/mlton/blob/master/CHANGELOG.adoc#version-19990319|title=MLton 1999-03-19 change notes|website=[[GitHub]] }}</ref> '''MLton'''<ref>{{cite web|url=https://github.com/MLton/mlton|title=एमएलटन भंडार|website=[[GitHub]] }}</ref> स्टैंडर्ड [[बूटस्ट्रैपिंग (संकलक)|बूटस्ट्रैपिंग]] कंपाइलर है, और इसमें सक्सेसर ML के लिए कुछ<ref name="IMPL"/> समर्थन है।
 
2008 में, '''HaMLet''' पर काम प्रारंभ हुआ, <ref>{{cite web|url=https://people.mpi-sws.org/~rossberg/hamlet/hamlet-succ-1.3.1S5.pdf|title=HaMLet S: To Become Or Not To Become Successor ML|author=Andreas Rossberg}}</ref> जो '''सक्सेसर ML''' का एक संदर्भ कार्यान्वयन है जो पूरी तरह से स्टैंडर्ड ML में लिखा गया है।<ref>{{cite web|url=https://github.com/rossberg/hamlet|title=एसएमएल संदर्भ दुभाषिया|website=[[GitHub]] }}</ref> 2018 तक, HaMLet अतिरिक्त नवीनताओं के साथ सक्सेसर ML का एकमात्र पूर्ण कार्यान्वयन बना हुआ है।<ref name="IMPL">{{cite web|url=https://github.com/SMLFamily/Successor-ML#implementation-efforts|title=उत्तराधिकारी एमएल का समर्थन करने के लिए तीन कार्यान्वयन प्रयास|website=[[GitHub]] }}</ref>
 
2015 से,<ref name="CHGLOG" /> SML/NJ का विकास बेसिस लाइब्रेरी को विकसित करने की दिशा में आगे बढ़ा है<ref>{{cite web|url=https://smlfamily.github.io/Basis/|title=The Standard ML Basis Library}}</ref> और संस्करण 110.79 के रिलीज के साथ '''सक्सेसर ML''' परिभाषा के लिए समर्थन कर रहा है।<ref name="SUCC">{{cite web|url=http://smlnj.org/dist/working/110.79/110.79-README.html|title=Standard ML of New Jersey version 110.79 NEWS|date=2015-10-04}}</ref>


2008 में, HaMLet पर काम शुरू हुआ,<ref>{{cite web|url=https://people.mpi-sws.org/~rossberg/hamlet/hamlet-succ-1.3.1S5.pdf|title=HaMLet S: To Become Or Not To Become Successor ML|author=Andreas Rossberg}}</ref> उत्तराधिकारी एमएल का एक संदर्भ कार्यान्वयन पूरी तरह से मानक एमएल में लिखा गया है।<ref>{{cite web|url=https://github.com/rossberg/hamlet|title=एसएमएल संदर्भ दुभाषिया|website=[[GitHub]] }}</ref> 2018 तक, HaMLet अतिरिक्त नवीनताओं के साथ उत्तराधिकारी ML का एकमात्र पूर्ण कार्यान्वयन बना हुआ है।<ref name="IMPL">{{cite web|url=https://github.com/SMLFamily/Successor-ML#implementation-efforts|title=उत्तराधिकारी एमएल का समर्थन करने के लिए तीन कार्यान्वयन प्रयास|website=[[GitHub]] }}</ref>
2015 से,<ref name="CHGLOG"/>एसएमएल/एनजे का विकास बेसिस लाइब्रेरी को विकसित करने की दिशा में हुआ<ref>{{cite web|url=https://smlfamily.github.io/Basis/|title=The Standard ML Basis Library}}</ref> और संस्करण 110.79 के रिलीज़ के साथ उत्तराधिकारी एमएल परिभाषा के लिए समर्थन जोड़ना।<ref name="SUCC">{{cite web|url=http://smlnj.org/dist/working/110.79/110.79-README.html|title=Standard ML of New Jersey version 110.79 NEWS|date=2015-10-04}}</ref>
2020 के अंत में, संस्करण 110.99 की रिलीज़ के साथ [[64-बिट]] समर्थन जोड़ा गया।<ref name="CHGLOG">{{cite web|url=https://smlnj.org/dist/working/110.99/HISTORY.html|title=Standard ML of New Jersey Change Log for v110.99}}</ref>
2020 के अंत में, संस्करण 110.99 की रिलीज़ के साथ [[64-बिट]] समर्थन जोड़ा गया।<ref name="CHGLOG">{{cite web|url=https://smlnj.org/dist/working/110.99/HISTORY.html|title=Standard ML of New Jersey Change Log for v110.99}}</ref>


==यह भी देखें==


==यह भी देखें==
* एक्सटेंडेड ML
*[[विस्तारित एमएल]]
* डिपेंडेंट ML
* [[आश्रित एमएल]]


==बाहरी संबंध==
==बाहरी संबंध==
Line 53: Line 56:
* [https://github.com/SMLFamily/BasisLibrary Standard ML Basis Library]
* [https://github.com/SMLFamily/BasisLibrary Standard ML Basis Library]
* [https://people.mpi-sws.org/~rossberg/hamlet/hamlet-succ-1.3.1S5.pdf Hamlet]
* [https://people.mpi-sws.org/~rossberg/hamlet/hamlet-succ-1.3.1S5.pdf Hamlet]
==संदर्भ==
==संदर्भ==
{{reflist}}
{{reflist}}
[[Category: प्रक्रियात्मक प्रोग्रामिंग भाषाएँ]] [[Category: एमएल प्रोग्रामिंग भाषा परिवार]] [[Category: बेल लैब्स]] [[Category: प्रिंसटन विश्वविद्यालय]] [[Category: मुफ़्त संकलक और दुभाषिए]] [[Category: निःशुल्क कंप्यूटर लाइब्रेरी]] [[Category: प्रोग्रामिंग भाषाएं 20वीं सदी में बनाई गईं]]


[[Category: Machine Translated Page]]
[[Category:Created On 24/07/2023]]
[[Category:Created On 24/07/2023]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors]]
[[Category:Templates Vigyan Ready]]
[[Category:एमएल प्रोग्रामिंग भाषा परिवार]]
[[Category:निःशुल्क कंप्यूटर लाइब्रेरी]]
[[Category:प्रक्रियात्मक प्रोग्रामिंग भाषाएँ]]
[[Category:प्रिंसटन विश्वविद्यालय]]
[[Category:प्रोग्रामिंग भाषाएं 20वीं सदी में बनाई गईं]]
[[Category:बेल लैब्स]]
[[Category:मुफ़्त संकलक और दुभाषिए]]

Latest revision as of 10:50, 14 August 2023

न्यू जर्सी के स्टैंडर्ड एमएल
Paradigmमल्टी-परदिगं: फंक्शनल, अनिवार्य
Stable release
टाइपिंग अनुशासनस्ट्रांग, स्टैटिक , अनुमान लगाया गया
लाइसेंसबीएसडी जैसा लाइसेंस[1]
फ़ाइल नाम एक्सटेंशनएस.sml
वेबसाइटwww.smlnj.org
Influenced by
स्टैंडर्ड एमएल
Influenced
मिथ्रिल

न्यू जर्सी का स्टैंडर्ड ML (SML/NJ; न्यू जर्सी का स्टैंडर्ड मेटा-लैंग्वेज) स्टैंडर्ड ML प्रोग्रामिंग लैंग्वेज के लिए एक स्वतंत्र और ओपन-सोर्स कंपाइलर और प्रोग्रामिंग एनवायरनमेंट है। इसके रनटाइम सिस्टम के अतिरिक्त, जो C में लिखा जाता है, SML/NJ स्टैंडर्ड ML में लिखा जाता है। इसे मूल रूप से बेल लेबोरेटरीज और प्रिंसटन विश्वविद्यालय द्वारा संयुक्त रूप से विकसित किया गया था।[2]

इसका नाम अमेरिकी राज्य न्यू जर्सी,, जिसमें प्रिंसटन और बेल लैब्स स्थित हैं, और न्यू जर्सी के स्टैंडर्ड ऑयल, जो कि 20वीं सदी के प्रारम्भ का प्रसिद्ध ऑयल एकाधिकार था, दोनों के संदर्भ हैं।

सुविधाएँ

SML/NJ कई अतिरिक्त शीर्ष-स्तरीय संरचनाओं के साथ एसएमएल'97 बेसिस लाइब्रेरी का विस्तार करता है:[3]

  • सिस्टम इन्फो - SysInfoसंरचना रनटाइम सिस्टम के बारे में जानकारी प्रदान करती है, जैसे ऑपरेटिंग सिस्टम का प्रकार, प्रकार और संस्करण और मशीन मल्टीप्रोसेसिंग का समर्थन करती है या नहीं।[4]
  • वीक पॉइंटर - Weakस्ट्रक्चर वीक पॉइंटर्स के लिए समर्थन प्रदान करती है।[5]
  • लेजी सस्पेंशन - Suspस्ट्रक्चर लेजी इवैल्यूएशन के लिए आवश्यक सस्पेंशन को लागू करती है (एगर इवैल्यूएशन के विपरीत)।[6]
  • कंपाइलर इंटरनल्स - Internalsसंरचना कई कंपाइलर इंटरनल्स तक पहुंच प्रदान करती है, जिसमें सिग्नल टेबल को इंस्टेंट करने और संशोधित करने के तरीके भी सम्मिलित हैं।[7]
  • अनसेफ एक्सेस - Unsafeसंरचना डेटा संरचनाओं और रनटाइम-सिस्टम फ़ंक्शंस तक असुरक्षित पहुंच प्रदान करती है।[8]
  • विसिबल कंपाइलर स्ट्रक्चर - SML/NJ में ऐसी संरचनाएं भी सम्मिलित हैं जो ML कंपाइलर तक पहुंच प्रदान करती हैं, जिसमें निष्पादन प्रोफाइलिंग, कंपाइलर एरर-मैसेज प्रिंटिंग और चेतावनियों का नियंत्रण, और अनुकूलन योग्य प्रेट्टी-प्रिंटिंग के लिए सब-स्ट्रक्चर सम्मिलित हैं।[9]

इसके अतिरिक्त, SML/NJ कुछ वाक्यात्मक संरचनाएँ प्रदान करता है जो SML'97 की स्टैंडर्ड विशेषताएँ नहीं हैं:[3]

  • वेक्टर एक्सप्रेशन एंड पैटर्न्स - SML/NJ #[exp0, exp1, ..., expn−1]सिंटैक्स के साथ वेक्टर के निर्माण की अनुमति देता है और उन पर समान सिंटैक्स के साथ पैटर्न-मिलान की अनुमति देता है।
  • Or-पैटर्न - SML/NJ एक ही नियम में कई पैटर्न के मिलान की अनुमति देने के लिए एसएमएल'97 पैटर्न के सिंटैक्स का विस्तार करता है, बशर्ते प्रत्येक पैटर्न का एक ही प्रकार हो, (apat1 | ... | apatn) => expका उपयोग करके।
  • ऑब्जेक्ट लैंग्वेज एम्बेडिंग - SML/NJ उद्धरण/एंटीकोट सिंटैक्स प्रदान करता है जो ML एक्सप्रेशंस और फंक्शन्स के भीतर किसी ऑब्जेक्ट लैंग्वेज के हार्ड सिंटैक्स में एक्सप्रेशंस को एम्बेड करने की अनुमति देता है।[10]
  • हायर-आर्डर मॉड्यूल - SML/NJ, फ़ैक्टर के रूप में स्टैंडर्ड ML के पैरामीट्रिक मॉड्यूल के अलावा, फ़ैक्टर को स्ट्रक्चर के घटक बनने की अनुमति देकर फ़ैक्टर के पैरामीट्रिज़ेशन का समर्थन करता है।

विकास

सक्सेसर ML एक शब्द है जिसका उपयोग लैंग्वेज के अगले संस्करण का वर्णन करने के लिए किया जाता है। इसका वर्णन करने वाले डॉक्यूमेंट SML/NJ '97 फ़ाइलों से निकाले गए हैं और TeX डाक्यूमेंट्स के GitHub रिपॉजिटरी के रूप में उपलब्ध कराए गए हैं, जिससे समुदाय को सहयोग करने और लैंग्वेज को विकसित करने की उम्मीद है।[11] सक्सेसर ML सुविधाओं को कमांड-लाइन ऑप्शन-Cparser.succ-ml=true का उपयोग करके सक्षम किया जा सकता है।[12]

कम से कम 1998 से,[13] MLton[14] स्टैंडर्ड बूटस्ट्रैपिंग कंपाइलर है, और इसमें सक्सेसर ML के लिए कुछ[15] समर्थन है।

2008 में, HaMLet पर काम प्रारंभ हुआ, [16] जो सक्सेसर ML का एक संदर्भ कार्यान्वयन है जो पूरी तरह से स्टैंडर्ड ML में लिखा गया है।[17] 2018 तक, HaMLet अतिरिक्त नवीनताओं के साथ सक्सेसर ML का एकमात्र पूर्ण कार्यान्वयन बना हुआ है।[15]

2015 से,[18] SML/NJ का विकास बेसिस लाइब्रेरी को विकसित करने की दिशा में आगे बढ़ा है[19] और संस्करण 110.79 के रिलीज के साथ सक्सेसर ML परिभाषा के लिए समर्थन कर रहा है।[12]

2020 के अंत में, संस्करण 110.99 की रिलीज़ के साथ 64-बिट समर्थन जोड़ा गया।[18]

यह भी देखें

  • एक्सटेंडेड ML
  • डिपेंडेंट ML

बाहरी संबंध

संदर्भ

  1. "Standard ML of New Jersey License". www.smlnj.org.
  2. "SML/NJ background information". www.smlnj.org. Retrieved 2018-09-05.
  3. 3.0 3.1 "SML/NJ Special Features". www.smlnj.org. Retrieved 2018-09-05.
  4. "The SYS_INFO signature". www.smlnj.org. Retrieved 2018-09-05.
  5. "कमजोर हस्ताक्षर". www.smlnj.org. Retrieved 2018-09-05.
  6. "एसयूएसपी हस्ताक्षर". www.smlnj.org. Retrieved 2018-09-05.
  7. "आंतरिक हस्ताक्षर". www.smlnj.org. Retrieved 2018-09-05.
  8. "असुरक्षित संरचना". www.smlnj.org. Retrieved 2018-09-05.
  9. "दृश्यमान संकलक". www.smlnj.org. Retrieved 2018-09-05.
  10. "SML/NJ Quote/Antiquote". www.smlnj.org. Retrieved 2018-09-05.
  11. "उत्तराधिकारी एमएल परिभाषा". GitHub.
  12. 12.0 12.1 "Standard ML of New Jersey version 110.79 NEWS". 2015-10-04.
  13. "MLton 1999-03-19 change notes". GitHub.
  14. "एमएलटन भंडार". GitHub.
  15. 15.0 15.1 "उत्तराधिकारी एमएल का समर्थन करने के लिए तीन कार्यान्वयन प्रयास". GitHub.
  16. Andreas Rossberg. "HaMLet S: To Become Or Not To Become Successor ML" (PDF).
  17. "एसएमएल संदर्भ दुभाषिया". GitHub.
  18. 18.0 18.1 "Standard ML of New Jersey Change Log for v110.99".
  19. "The Standard ML Basis Library".