SETL (एसईटी लैंग्वेज): Difference between revisions
(Created page with "{{Short description|Programming language}} {{Redirect|Setl|the indigenous location in Canada|Bridge River Rapids}} {{more citations needed|date=April 2017}} {{Infobox programm...") |
No edit summary |
||
Line 1: | Line 1: | ||
{{Short description|Programming language}} | {{Short description|Programming language}} | ||
{{Redirect| | {{Redirect|एसईटीएल|कनाडा में स्वदेशी स्थान|ब्रिज रिवर रैपिड्स}} | ||
{{Infobox programming language | {{Infobox programming language | ||
| logo = | | logo = | ||
Line 18: | Line 17: | ||
}} | }} | ||
एसईटीएल (ईएसटी लैंग्वेज) गणितीय सेट सिद्धांत पर आधारित एक बहुत ही उच्च स्तरीय प्रोग्रामिंग लैंग्वेज है। इसे मूल रूप से 1960 के दशक के अंत में [[न्यूयॉर्क विश्वविद्यालय]] (एनवाईयू) [[गणितीय विज्ञान के कूरेंट संस्थान]] में (जैक) जैकब टी. श्वार्ट्ज द्वारा विकसित किया गया था। | |||
== डिज़ाइन == | == डिज़ाइन == | ||
एसईटीएल दो बेसिक एग्रीगेट डेटा टाइप प्रदान करता है: अनऑर्डरड सेट, और सीक्वेंस (बाद वाले को टुपल्स भी कहा जाता है)। सेट और टुपल्स किसी भी स्वेच्छाचारी प्रकार के हो सकते हैं, जिनमें स्वयं सेट और टुपल्स भी सम्मिलित हैं। मानचित्र जोड़े के सेट के रूप में प्रदान किए जाते हैं (यानी, लंबाई 2 के टुपल्स) और इसमें स्वेच्छाचारी ढंग से डोमेन और रेंज टाइप हो सकते हैं। एसईटीएल में आदिम संचालन में सेट सदस्यता, यूनियन, इंटरसेक्शन और पावर सेट निर्माण आदि सम्मिलित हैं। | |||
एसईटीएल [[प्रथम-क्रम विधेय तर्क|फर्स्ट-आर्डर प्रेडीकेट लॉजिक]] के [[सार्वभौमिक परिमाणक|यूनिवर्सल]] [[अस्तित्वगत परिमाणक|क्वांटीफायर]] और [[अस्तित्वगत परिमाणक|एक्सिस्टेंशियल क्वांटीफायर]] का उपयोग करके निर्मित परिमाणित बूलियन एक्सप्रेशन प्रदान करता है। | |||
एसईटीएल समग्र डेटा संरचनाओं पर विभिन्न प्रकार के लूप उत्पन्न करने के लिए कई इटीरेटर प्रदान करता है। | |||
== उदाहरण == | == उदाहरण == | ||
2 से लेकर | 2 से लेकर {{Var|N}} तक सभी प्राइम नंबर प्रिंट करें : | ||
print([n in [2..N] | forall m in {2..n - 1} | n mod m > 0]); | |||
नोटेशन [[सूची समझ]] के समान है। | नोटेशन [[सूची समझ|लिस्ट कॉम्प्रिहेंशन]] के समान है। | ||
एक | एक फ़ैक्टोरियल प्रोसीजर परिभाषा: | ||
procईडीure factorial(n); -- calculatईएस the factorial n! | |||
return if n = 1 then 1 else n * factorial(n - 1) end if; | |||
end factorial; | |||
फ़ैक्टोरियल (n > 0) के लिए एक अधिक कन्वेंशनल एसईटीएल अभिव्यक्ति: | |||
*/[1.. | */[1..n] | ||
== उपयोग == | == उपयोग == | ||
एसईटीएल का कार्यान्वयन डीईसी [[VAX|वीएएक्स]], आईबीएम/370, [[सन माइक्रोसिस्टम्स]] वर्कस्टेशन और [[अपोलो कंप्यूटर]] पर उपलब्ध था।<ref>{{cite book | |||
| title = Programming with sets. An Introduction to SETL | | title = Programming with sets. An Introduction to SETL | ||
| author = J.T. Schwartz | | author = J.T. Schwartz | ||
Line 52: | Line 51: | ||
| url = https://books.google.com/books?id=4pfbBwAAQBAJ&pg=PR6 | | url = https://books.google.com/books?id=4pfbBwAAQBAJ&pg=PR6 | ||
}}</ref> | }}</ref> | ||
1970 के दशक में, | |||
1970 के दशक में, एसईटीएल को [[BESM-6|बीईएसएम-6]], ईएस ईवीएम और अन्य रूसी कंप्यूटर सिस्टम में पोर्ट किया गया था।<ref>{{cite book | |||
| title = Становление новосибирской школы программирования (мозаика воспоминаний) | | title = Становление новосибирской школы программирования (мозаика воспоминаний) | ||
| trans-title = Formation of the Novosibirsk school of programming (mosaic of memories) | | trans-title = Formation of the Novosibirsk school of programming (mosaic of memories) | ||
Line 63: | Line 63: | ||
| language = ru | | language = ru | ||
}}</ref> | }}</ref> | ||
[[गुइडो वैन रोसुम]] के अनुसार, [[पायथन (प्रोग्रामिंग भाषा)]] | एसईटीएल का उपयोग प्रोग्रामिंग लैंग्वेज एडीए (प्रोग्रामिंग लैंग्वेज) के प्रारंभिक कार्यान्वयन के लिए किया गया था, जिसे एनवाईयू एडीए/ईडी अनुवादक नाम दिया गया था। <ref>{{cite book |first1=Robert B. K. |last1=Dewar |first2=Gerald A. |last2=Fisher Jr. |first3=Edmond |last3=Schonberg |first4=Robert |last4=Froelich |first5=Stephen |last5=Bryant |first6=Clinton F. |last6=Goss |first7=Michael |last7=Burke |title=Proceeding of the ACM-SIGPLAN symposium on Ada programming language - SIGPLAN '80 |chapter=The NYU Ada translator and interpreter |volume=15 |issue=11 |pages=194–201 |date=November 1980 |isbn=0-89791-030-3 |doi=10.1145/948632.948659|s2cid=10586359 }}</ref> यह बाद में 11 अप्रैल, 1983 को प्रमाणित पहला मान्य एडीए कार्यान्वयन बन गया।<ref>{{cite web |url=http://www.dtic.mil/docs/citations/ADA136759 |archive-url=https://web.archive.org/web/20170607044753/http://www.dtic.mil/docs/citations/ADA136759 |url-status=dead |archive-date=June 7, 2017 |title=Ada Compiler Validation Summary Report: NYU Ada/ED, Version 19.7 V-001 |author=SofTech Inc., Waltham, MA |date=1983-04-11 |access-date=2010-12-16}}</ref> | ||
[[गुइडो वैन रोसुम]] के अनुसार, [[पायथन (प्रोग्रामिंग भाषा)|पायथन (प्रोग्रामिंग लैंग्वेज)]] प्रेडेसर, [[एबीसी (प्रोग्रामिंग भाषा)|एबीसी (प्रोग्रामिंग लैंग्वेज)]], एसईटीएल से प्रेरित थी - अंतिम एबीसी डिजाइन के साथ आने से पहले [[लैम्बर्ट मेरटेंस]] ने एनवाईयू में एसईटीएल समूह के साथ एक साल बिताया था! <ref>[http://mail.python.org/pipermail/python-dev/2000-August/008881.html Python-Dev: SETL (was: Lukewarm about range literals)]</ref> | |||
== | ==लैंग्वेज वैरिएंट== | ||
ईएसटी लैंग्वेज 2 (एसईटीएल2), एसईटीएल का एक बैकवर्ड इनकम्पेटिबल डेस्केन्डन्ट, 1980 के दशक के अंत में न्यूयॉर्क विश्वविद्यालय में कूरेंट इंस्टीट्यूट ऑफ मैथमैटिकल साइंसेज के किर्क स्नाइडर द्वारा बनाया गया था। अपने प्रीडेसर की तरह, यह परिमित सेटों के सिद्धांत और अंकन पर आधारित है, लेकिन यह वाक्य रचना और शैली में भी एडा लैंग्वेज से प्रभावित है। | |||
इंटरैक्टिव | इंटरैक्टिव ईएसटी लैंग्वेज (एसईटीएल) असतत गणित में प्रयुक्त एसईटीएल का एक प्रकार है। | ||
[https://setl.org/setl/ | [https://setl.org/setl/ जीएनयू एसईटीएल] एक कमांड-लाइन उपयोगिता है जो एसईटीएल का विस्तार और कार्यान्वयन करती है। | ||
== संदर्भ == | == संदर्भ == | ||
Line 79: | Line 82: | ||
== अग्रिम पठन == | == अग्रिम पठन == | ||
* Schwartz, Jacob T., " | * Schwartz, Jacob T., "ईएसटी Theory as a Language for Program Specification and Programming". Courant Institute of Mathematical Sciencईएस, New York University, 1970. | ||
* Schwartz, Jacob T., "On Programming, An Interim Report on the | * Schwartz, Jacob T., "On Programming, An Interim Report on the एसईटीएल Project", Computer Science Department, Courant Institute of Mathematical Sciencईएस, New York University (1973). | ||
* Schwartz, Jacob T., Dewar, R.B.K., Dubinsky, E., and Schonberg, E., ''Programming With | * Schwartz, Jacob T., Dewar, R.B.K., Dubinsky, E., and Schonberg, E., ''Programming With ईएसटीs: An Introduction to एसईटीएल'', 1986. {{ISBN|0-387-96399-5}}. | ||
== बाहरी संबंध == | == बाहरी संबंध == | ||
* {{Official website}} | * {{Official website}} | ||
* [http://www.settheory.com ''Programming in | * [http://www.settheory.com ''Programming in एसईटीएल'' and other things] | ||
* [http://www.softwarepreservation.org/projects/SETL | * [http://www.softwarepreservation.org/projects/SETL एसईटीएल Historical Sourcईएस Archive] | ||
{{Authority control}} | {{Authority control}} |
Revision as of 10:34, 11 August 2023
Paradigm | multi-paradigm: imperative, procedural, structured, object-oriented |
---|---|
द्वारा डिज़ाइन किया गया | (Jack) Jacob T. Schwartz |
Developer | Courant Institute of Mathematical Sciences |
पहली प्रस्तुति | 1969 |
Stable release | 1.1
/ January 7, 2005 |
टाइपिंग अनुशासन | Dynamic |
वेबसाइट | setl |
Influenced by | |
ALGOL 60 | |
Influenced | |
SETL2, ISETL, SETLX, Starset, ABC |
एसईटीएल (ईएसटी लैंग्वेज) गणितीय सेट सिद्धांत पर आधारित एक बहुत ही उच्च स्तरीय प्रोग्रामिंग लैंग्वेज है। इसे मूल रूप से 1960 के दशक के अंत में न्यूयॉर्क विश्वविद्यालय (एनवाईयू) गणितीय विज्ञान के कूरेंट संस्थान में (जैक) जैकब टी. श्वार्ट्ज द्वारा विकसित किया गया था।
डिज़ाइन
एसईटीएल दो बेसिक एग्रीगेट डेटा टाइप प्रदान करता है: अनऑर्डरड सेट, और सीक्वेंस (बाद वाले को टुपल्स भी कहा जाता है)। सेट और टुपल्स किसी भी स्वेच्छाचारी प्रकार के हो सकते हैं, जिनमें स्वयं सेट और टुपल्स भी सम्मिलित हैं। मानचित्र जोड़े के सेट के रूप में प्रदान किए जाते हैं (यानी, लंबाई 2 के टुपल्स) और इसमें स्वेच्छाचारी ढंग से डोमेन और रेंज टाइप हो सकते हैं। एसईटीएल में आदिम संचालन में सेट सदस्यता, यूनियन, इंटरसेक्शन और पावर सेट निर्माण आदि सम्मिलित हैं।
एसईटीएल फर्स्ट-आर्डर प्रेडीकेट लॉजिक के यूनिवर्सल क्वांटीफायर और एक्सिस्टेंशियल क्वांटीफायर का उपयोग करके निर्मित परिमाणित बूलियन एक्सप्रेशन प्रदान करता है।
एसईटीएल समग्र डेटा संरचनाओं पर विभिन्न प्रकार के लूप उत्पन्न करने के लिए कई इटीरेटर प्रदान करता है।
उदाहरण
2 से लेकर N तक सभी प्राइम नंबर प्रिंट करें :
print([n in [2..N] | forall m in {2..n - 1} | n mod m > 0]);
नोटेशन लिस्ट कॉम्प्रिहेंशन के समान है।
एक फ़ैक्टोरियल प्रोसीजर परिभाषा:
procईडीure factorial(n); -- calculatईएस the factorial n! return if n = 1 then 1 else n * factorial(n - 1) end if; end factorial;
फ़ैक्टोरियल (n > 0) के लिए एक अधिक कन्वेंशनल एसईटीएल अभिव्यक्ति:
*/[1..n]
उपयोग
एसईटीएल का कार्यान्वयन डीईसी वीएएक्स, आईबीएम/370, सन माइक्रोसिस्टम्स वर्कस्टेशन और अपोलो कंप्यूटर पर उपलब्ध था।[1]
1970 के दशक में, एसईटीएल को बीईएसएम-6, ईएस ईवीएम और अन्य रूसी कंप्यूटर सिस्टम में पोर्ट किया गया था।[2]
एसईटीएल का उपयोग प्रोग्रामिंग लैंग्वेज एडीए (प्रोग्रामिंग लैंग्वेज) के प्रारंभिक कार्यान्वयन के लिए किया गया था, जिसे एनवाईयू एडीए/ईडी अनुवादक नाम दिया गया था। [3] यह बाद में 11 अप्रैल, 1983 को प्रमाणित पहला मान्य एडीए कार्यान्वयन बन गया।[4]
गुइडो वैन रोसुम के अनुसार, पायथन (प्रोग्रामिंग लैंग्वेज) प्रेडेसर, एबीसी (प्रोग्रामिंग लैंग्वेज), एसईटीएल से प्रेरित थी - अंतिम एबीसी डिजाइन के साथ आने से पहले लैम्बर्ट मेरटेंस ने एनवाईयू में एसईटीएल समूह के साथ एक साल बिताया था! [5]
लैंग्वेज वैरिएंट
ईएसटी लैंग्वेज 2 (एसईटीएल2), एसईटीएल का एक बैकवर्ड इनकम्पेटिबल डेस्केन्डन्ट, 1980 के दशक के अंत में न्यूयॉर्क विश्वविद्यालय में कूरेंट इंस्टीट्यूट ऑफ मैथमैटिकल साइंसेज के किर्क स्नाइडर द्वारा बनाया गया था। अपने प्रीडेसर की तरह, यह परिमित सेटों के सिद्धांत और अंकन पर आधारित है, लेकिन यह वाक्य रचना और शैली में भी एडा लैंग्वेज से प्रभावित है।
इंटरैक्टिव ईएसटी लैंग्वेज (एसईटीएल) असतत गणित में प्रयुक्त एसईटीएल का एक प्रकार है।
जीएनयू एसईटीएल एक कमांड-लाइन उपयोगिता है जो एसईटीएल का विस्तार और कार्यान्वयन करती है।
संदर्भ
- ↑ J.T. Schwartz; R.B.K. Dewar; E. Dubinsky; E. Schonberg (1986). Programming with sets. An Introduction to SETL. Springer-Verlag New York Inc. ISBN 978-1-4613-9577-5.
- ↑ И.В. Поттосин, ed. (2001). Становление новосибирской школы программирования (мозаика воспоминаний) [Formation of the Novosibirsk school of programming (mosaic of memories)] (PDF) (in русский). Новосибирск: Институт систем информатики им. А. П. Ершова СО РАН. pp. 106–113.
- ↑ Dewar, Robert B. K.; Fisher Jr., Gerald A.; Schonberg, Edmond; Froelich, Robert; Bryant, Stephen; Goss, Clinton F.; Burke, Michael (November 1980). "The NYU Ada translator and interpreter". Proceeding of the ACM-SIGPLAN symposium on Ada programming language - SIGPLAN '80. Vol. 15. pp. 194–201. doi:10.1145/948632.948659. ISBN 0-89791-030-3. S2CID 10586359.
- ↑ SofTech Inc., Waltham, MA (1983-04-11). "Ada Compiler Validation Summary Report: NYU Ada/ED, Version 19.7 V-001". Archived from the original on June 7, 2017. Retrieved 2010-12-16.
{{cite web}}
: CS1 maint: multiple names: authors list (link) - ↑ Python-Dev: SETL (was: Lukewarm about range literals)
अग्रिम पठन
- Schwartz, Jacob T., "ईएसटी Theory as a Language for Program Specification and Programming". Courant Institute of Mathematical Sciencईएस, New York University, 1970.
- Schwartz, Jacob T., "On Programming, An Interim Report on the एसईटीएल Project", Computer Science Department, Courant Institute of Mathematical Sciencईएस, New York University (1973).
- Schwartz, Jacob T., Dewar, R.B.K., Dubinsky, E., and Schonberg, E., Programming With ईएसटीs: An Introduction to एसईटीएल, 1986. ISBN 0-387-96399-5.
बाहरी संबंध
- No URL found. Please specify a URL here or add one to Wikidata.
- Programming in एसईटीएल and other things
- एसईटीएल Historical Sourcईएस Archive