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

एसईटीएल (ईएसटी लैंग्वेज) गणितीय सेट सिद्धांत पर आधारित एक बहुत ही उच्च स्तरीय प्रोग्रामिंग लैंग्वेज है। इसे मूल रूप से 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, सन माइक्रोसिस्टम्स वर्कस्टेशन और अपोलो कंप्यूटर पर उपलब्ध था।

1970 के दशक में, एसईटीएल को बीईएसएम-6, ईएस ईवीएम और अन्य रूसी कंप्यूटर सिस्टम में पोर्ट किया गया था।

एसईटीएल का उपयोग प्रोग्रामिंग लैंग्वेज एडीए (प्रोग्रामिंग लैंग्वेज) के प्रारंभिक कार्यान्वयन के लिए किया गया था, जिसे एनवाईयू एडीए/ईडी अनुवादक नाम दिया गया था। यह बाद में 11 अप्रैल, 1983 को प्रमाणित पहला मान्य एडीए कार्यान्वयन बन गया।

गुइडो वैन रोसुम के अनुसार, पायथन (प्रोग्रामिंग लैंग्वेज) प्रेडेसर, एबीसी (प्रोग्रामिंग लैंग्वेज), एसईटीएल से प्रेरित थी - अंतिम एबीसी डिजाइन के साथ आने से पहले लैम्बर्ट मेरटेंस ने एनवाईयू में एसईटीएल समूह के साथ एक साल बिताया था!

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

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

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

अग्रिम पठन

 * 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.

बाहरी संबंध

 * Programming in एसईटीएल and other things
 * एसईटीएल Historical Sourcईएस Archive
 * एसईटीएल Historical Sourcईएस Archive