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

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, सन माइक्रोसिस्टम्स वर्कस्टेशन और अपोलो कंप्यूटर पर उपलब्ध था। 1970 के दशक में, SETL को BESM-6, ES ईवीएम और अन्य रूसी कंप्यूटर सिस्टम में पोर्ट किया गया था। SETL का उपयोग प्रोग्रामिंग भाषा Ada (प्रोग्रामिंग भाषा) के प्रारंभिक कार्यान्वयन के लिए किया गया था, जिसे NYU Ada/ED अनुवादक नाम दिया गया था। यह बाद में 11 अप्रैल, 1983 को प्रमाणित पहला मान्य एडीए कार्यान्वयन बन गया। गुइडो वैन रोसुम के अनुसार, पायथन (प्रोग्रामिंग भाषा) की पूर्ववर्ती, एबीसी (प्रोग्रामिंग भाषा), एसईटीएल से प्रेरित थी - अंतिम एबीसी डिजाइन के साथ आने से पहले लैम्बर्ट मेरटेंस ने एनवाईयू में एसईटीएल समूह के साथ एक साल बिताया था!

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

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

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

अग्रिम पठन

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

बाहरी संबंध

 * Programming in SETL and other things
 * SETL Historical Sources Archive
 * SETL Historical Sources Archive