سيتل (لغة برمجة)
سيتل (SETL) اختصار لـ (SET Language) هي لغة برمجة عالية المستوى جداً تعتمد نظرية المجموعات الرياضية. طورت في الأساس من قبل جاك شوارتز في معهد كورانت في جامعة نيويورك للعلوم الرياضية في أواخر الستينات.
سيتل (SETL) | |
---|---|
التصنيف | متعددة الأنماط: أمرية, إجرائية, هيكلية, كائنية التوجه |
ظهرت في | 1969 |
صممها | جاك شوارتز |
التطوير | |
المطور | مؤسسة كورانت للعلوم الرياضيات |
أثرت في | ProSet, ABC, Slim |
متفرقات | |
موقع ويب | http://setl.org/ |
وفرت سيتل نوعان من البيانات الأساسية: مجموعة غير مرتبة (unordered sets)، والتسلسل (sequences) وتسمى الأخيرة متتابعة (tuples). يمكن أن تكون عناصر المجموعات والمتتابعات من أي نوع، وشمل ذلك المجموعات والمتتابعات نفسها. ويتم توفير الخرائط كمجموعة أزواج (أي متتابعة بطول 2) ويمكن ان تحصل على أي نطاق وأي مدى من الأنواع. وتتضمن سيتل عددة عمليات بدائية منها مجموعة العضوية (set membership)، الاتحاد (union)، التقاطع (intersection)، ووبناء قوة المجموعة(power set construction)، وأخرى ات.
توفر سيتل تعابير منطقية محددة أنشأت باستخدام محددات الكمية العالمية والحالية بالاستناد إلى منطق الرتبة الأولى.
توفر سيتل عدة iterators لإنتاج مجموعة متنوعة من الحلقات لهياكل البيانات المجمعة. في السبعينات، نقلت سيتل إلى BESM-6، إي إس إي إم في وعدد من أنظمة الحاسوب الروسية.
أستخدمت سيتل في التطبيقات الأولية للغة البرمجة أيدا (Ada)، المعروفة بمترجم NYU Ada/ED.[1] بعد ذلك أصبحت أول تطبيق صحيح لأيدا، معتمد في 11 أبريل 1983.[2]
ديفيد بيكون، والذي كان في السابق برفسور في جامعة نيويورك مع جاك شوارتز لا يزال يحتفظ بمترجم سيتل وموقعها على شبكة الإنترنت.
كود بسيط
طباعة جميع الأعداد الأولية من 2 إلى N:
print([n in [2..N] | forall m in {2..n - 1} | n mod m > 0]);
التأشير (notation) مشابة لقائمة الإدراك (list comprehension)
تعريف factorial procedure:
procedure factorial(n); -- calculates the factorial n! return if n = 1 then 1 else n * factorial(n - 1) end if; end factorial;
تعبير تقليدي لـfactorial (n > 0):
*/[1..n]
التاريخ
كانت مستوحاة من بايثون، وABC أستوحت من سيتل - لامبرت ميرتينس قضى عاماً مع فريق سيتل في جامعة نيويورك قبل صدور التصميم النهائي لاي بي سي!
المراجع
- Dewar, Robert B. K.; Fisher Jr., Gerald A.; Schonberg, Edmond; Froelich, Robert; Bryant, Stephen; Goss, Clinton F.; Burke, Michael (1980). "The NYU Ada Translator and Interpreter". ACM SIGPLAN Notices - Proceedings of the ACM-SIGPLAN Symposium on the Ada Programming Language. 15 (11): 194–201. doi:10.1145/948632.948659. ISBN 0-89791-030-3. الوسيط
|CitationClass=
تم تجاهله (مساعدة) - SofTech Inc., Waltham, MA (1983-04-11). "Ada Compiler Validation Summary Report: NYU Ada/ED, Version 19.7 V-001". مؤرشف من الأصل في 17 يونيو 2016. اطلع عليه بتاريخ 16 ديسمبر 2010. الوسيط
|CitationClass=
تم تجاهله (مساعدة)صيانة CS1: أسماء متعددة: قائمة المؤلفون (link) - [Python-Dev] SETL (was: Lukewarm about range literals) نسخة محفوظة 14 يوليو 2018 على موقع واي باك مشين.
Additionally:
- 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.
وصلات خارجية
- GNU SETL الموقع الرسمي
- التوزي الثنائى لستيل على يونكس
- البرمجة على ستيل وأشياء أخرى
- وثائق ستيل
- لغة برمجة سيتل, بقلم روبرت ديوار
- سيتل ويكي
- بوابة تقنية المعلومات
- بوابة علم الحاسوب