SETL (एसईटी लैंग्वेज)

From Vigyanwiki
Revision as of 10:51, 9 August 2023 by alpha>Indicwiki (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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
SETL
Paradigmmulti-paradigm: imperative, procedural, structured, object-oriented
द्वारा डिज़ाइन किया गया(Jack) Jacob T. Schwartz
DeveloperCourant Institute of Mathematical Sciences
पहली प्रस्तुति1969; 55 years ago (1969)
Stable release
1.1 / January 7, 2005; 19 years ago (2005-01-07)
टाइपिंग अनुशासनDynamic
वेबसाइटsetl.org
Influenced by
ALGOL 60
Influenced
SETL2, ISETL, SETLX, Starset, ABC

SETL (SET लैंग्वेज) गणितीय सेट सिद्धांत पर आधारित एक बहुत ही उच्च स्तरीय प्रोग्रामिंग भाषा है। इसे मूल रूप से 1960 के दशक के अंत में न्यूयॉर्क विश्वविद्यालयएनवाईयू) गणितीय विज्ञान के कूरेंट संस्थान में (जैक) जैकब टी. श्वार्ट्ज द्वारा विकसित किया गया था।

डिज़ाइन

SETL दो बुनियादी समग्र डेटा प्रकार प्रदान करता है: अव्यवस्थित सेट, और अनुक्रम (बाद वाले को टुपल्स भी कहा जाता है)। सेट और टुपल्स के तत्व किसी भी मनमाने प्रकार के हो सकते हैं, जिनमें स्वयं सेट और टुपल्स भी शामिल हैं। मानचित्र जोड़े के सेट के रूप में प्रदान किए जाते हैं (यानी, लंबाई 2 के टुपल्स) और इसमें मनमाने ढंग से डोमेन और रेंज प्रकार हो सकते हैं। एसईटीएल में आदिम संचालन में सेट सदस्यता, यूनियन, इंटरसेक्शन और पावर सेट निर्माण आदि शामिल हैं।

SETL प्रथम-क्रम विधेय तर्क के सार्वभौमिक परिमाणक और अस्तित्वगत परिमाणकों का उपयोग करके निर्मित परिमाणित बूलियन अभिव्यक्तियाँ प्रदान करता है।

SETL समग्र डेटा संरचनाओं पर विभिन्न प्रकार के लूप उत्पन्न करने के लिए कई पुनरावर्तक प्रदान करता है।

उदाहरण

2 से लेकर सभी अभाज्य संख्याएँ प्रिंट करें N:

प्रिंट([n in [2..N] | forall m in {2..n - 1} | n mod m > 0]);

नोटेशन सूची समझ के समान है।

एक तथ्यात्मक प्रक्रिया परिभाषा:

प्रक्रिया भाज्य(एन); -- फैक्टोरियल एन की गणना करता है!
  वापसी यदि n = 1 तो 1 अन्यथा n * भाज्य(n - 1) अंत यदि;
अंत भाज्य;

फैक्टोरियल (n > 0) के लिए एक अधिक पारंपरिक SETL अभिव्यक्ति:

*/[1..एन]

उपयोग

SETL का कार्यान्वयन DEC VAX, IBM/370, सन माइक्रोसिस्टम्स वर्कस्टेशन और अपोलो कंप्यूटर पर उपलब्ध था।[1] 1970 के दशक में, SETL को BESM-6, ES ईवीएम और अन्य रूसी कंप्यूटर सिस्टम में पोर्ट किया गया था।[2] SETL का उपयोग प्रोग्रामिंग भाषा Ada (प्रोग्रामिंग भाषा) के प्रारंभिक कार्यान्वयन के लिए किया गया था, जिसे NYU Ada/ED अनुवादक नाम दिया गया था।[3] यह बाद में 11 अप्रैल, 1983 को प्रमाणित पहला मान्य एडीए कार्यान्वयन बन गया।[4] गुइडो वैन रोसुम के अनुसार, पायथन (प्रोग्रामिंग भाषा) की पूर्ववर्ती, एबीसी (प्रोग्रामिंग भाषा), एसईटीएल से प्रेरित थी - अंतिम एबीसी डिजाइन के साथ आने से पहले लैम्बर्ट मेरटेंस ने एनवाईयू में एसईटीएल समूह के साथ एक साल बिताया था![5]


भाषा रूप

SET लैंग्वेज 2 (SETL2), SETL का एक पिछड़ा असंगत वंशज, 1980 के दशक के अंत में न्यूयॉर्क विश्वविद्यालय में कूरेंट इंस्टीट्यूट ऑफ मैथमैटिकल साइंसेज के किर्क स्नाइडर द्वारा बनाया गया था। अपने पूर्ववर्ती की तरह, यह परिमित सेटों के सिद्धांत और अंकन पर आधारित है, लेकिन यह वाक्य रचना और शैली में भी एडा भाषा से प्रभावित है।

इंटरैक्टिव SET लैंग्वेज (ISETL) असतत गणित में प्रयुक्त SETL का एक प्रकार है।

GNU SETL एक कमांड-लाइन उपयोगिता है जो SETL का विस्तार और कार्यान्वयन करती है।

संदर्भ

  1. 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.
  2. И.В. Поттосин, ed. (2001). Становление новосибирской школы программирования (мозаика воспоминаний) [Formation of the Novosibirsk school of programming (mosaic of memories)] (PDF) (in русский). Новосибирск: Институт систем информатики им. А. П. Ершова СО РАН. pp. 106–113.
  3. 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.
  4. 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)
  5. Python-Dev: SETL (was: Lukewarm about range literals)


अग्रिम पठन

  • Schwartz, Jacob T., "Set Theory as a Language for Program Specification and Programming". Courant Institute of Mathematical Sciences, New York University, 1970.
  • Schwartz, Jacob T., "On Programming, An Interim Report on the SETL Project", Computer Science Department, Courant Institute of Mathematical Sciences, New York University (1973).
  • Schwartz, Jacob T., Dewar, R.B.K., Dubinsky, E., and Schonberg, E., Programming With Sets: An Introduction to SETL, 1986. ISBN 0-387-96399-5.


बाहरी संबंध