سيتل
لغة SETL ( لغة المجموعات ) هي لغة برمجة عالية المستوى [ 1 ] مبنية على النظرية الرياضية للمجموعات . [ 2 ] [ 3 ] طُوّرت في الأصل في معهد كورانت للعلوم الرياضية بجامعة نيويورك في أواخر الستينيات، على يد مجموعة ضمت جاكوب تي. شوارتز ، [ 1 ] [ 3 ] وروبرت ديوار ، وإي. شونبرغ. [ 1 ] يُنسب تصميم اللغة إلى شوارتز. [ 4 ]
تصميم
توفر لغة SETL نوعين أساسيين من البيانات التجميعية: المجموعات (غير المرتبة) والصفوف . [ 1 ] [ 2 ] [ 5 ] يمكن أن تكون عناصر المجموعات والصفوف من أي نوع، بما في ذلك المجموعات والصفوف نفسها، باستثناء القيمة غير المعرفة om [ 1 ] (تُكتب أحيانًا بحرف كبير: OM ). [ 6 ] تُقدم الخرائط كمجموعات من الأزواج (أي صفوف بطول 2) ويمكن أن يكون لها نطاق ومجال عشوائيان. [ 1 ] [ 5 ] تشمل العمليات الأساسية في SETL عضوية المجموعة، والاتحاد، والتقاطع، وبناء مجموعة القوى، وغيرها. [ 1 ] [ 6 ]
توفر SETL تعبيرات منطقية كمية مبنية باستخدام الكميات الشاملة والوجودية لمنطق المسند من الدرجة الأولى . [ 1 ] [ 6 ]
توفر مكتبة SETL العديد من أدوات التكرار لإنتاج مجموعة متنوعة من الحلقات على هياكل البيانات المجمعة. [ 1 ] [ 7 ]
أمثلة
اطبع جميع الأعداد الأولية من 2 إلى N :
print([n in [2..N] | forall m in {2..n - 1} | n mod m > 0]);هذه الصيغة مشابهة لصيغة فهم القوائم .
تعريف إجراء العاملي:
الإجراء factorial(n)؛ -- يحسب مضروب n! إذا كانت قيمة n تساوي 1، فأرجع 1، وإلا فأرجع n * مضروب(n - 1). نهاية المضروب؛
صيغة SETL أكثر تقليدية للعاملية (n > 0):
*/[1..n]
الاستخدامات
كانت تطبيقات SETL متاحة على أجهزة CDC 6600 و CDC Cyber وDEC VAX و IBM/370 ومحطة عمل Sun و Apollo . [ 8 ] في سبعينيات القرن العشرين، تم نقل SETL إلى BESM-6 و ES EVM وأنظمة حاسوب روسية أخرى. [ 9 ]
استُخدمت لغة SETL في تطبيق مبكر للغة البرمجة Ada ، والتي سُميت مترجم NYU Ada/ED. [ 10 ] وأصبحت هذه لاحقًا أول تطبيق مُعتمد للغة Ada، حيث تم اعتماده في 11 أبريل 1983. [ 11 ]
وفقًا لـ Guido van Rossum ، " تم استلهام سلف بايثون ، ABC ، من SETL - أمضى لامبرت ميرتينز عامًا مع مجموعة SETL في جامعة نيويورك قبل التوصل إلى التصميم النهائي لـ ABC!" [ 12 ]
صيغ اللغة
لغة SET 2 (SETL2)، وهي نسخة مشتقة من SETL وغير متوافقة مع الإصدارات السابقة، ابتكرها كيرك سنايدر من معهد كورانت للعلوم الرياضية بجامعة نيويورك في أواخر ثمانينيات القرن العشرين. [ 13 ] ومثل سابقتها، تستند إلى نظرية ورموز المجموعات المنتهية، ولكنها تأثرت أيضًا في تركيبها وأسلوبها بلغة آدا. [ 13 ]
لغة المجموعات التفاعلية (ISETL) هي شكل مختلف من لغة SETL المستخدمة في الرياضيات المتقطعة . [ 14 ]
مراجع
- 1 2 3 4 5 6 7 8 9 شوارتز، جيه تي؛ ديوار، ربك. شونبيرج، إي؛ دوبينسكي، إي. (1986). البرمجة بالمجموعات . الصفحات من الخامس إلى السابع، 2، 48، 53، 57-58 ، 63، 113 وما يليها. دوى : 10.1007/978-1-4613-9575-1 . رقم ISBN 978-1-4613-9577-5.
- 1 2 "جنو سيتل أوم" . setl.org . تم الاسترجاع 2024-04-24 .
- 1 2 ماركوف، جون (4 مارس 2009). "وفاة العالم جاكوب تي. شوارتز، 79 عامًا، المعروف بنشاطه الدؤوب" . صحيفة نيويورك تايمز . الرقم الدولي الموحد للدوريات 0362-4331 . تاريخ الاسترجاع: 24 أبريل 2024 .
- ^ شوارتز، جاكوب ت. كانتون، دومينيكو؛ أوموديو، يوجينيو ج. (2011). المنطق الحسابي ونظرية المجموعة . ص السابع. دوى : 10.1007/978-0-85729-808-9 . رقم ISBN 978-0-85729-807-2.
- 1 2 "الفصل الثاني" . www.settheory.com . تم الاطلاع عليه بتاريخ 24-04-2024 .
- 1 2 3 "الفصل 3" . www.settheory.com . تاريخ الاسترجاع: 24-04-2024 .
- ↑ "الفصل 4" . www.settheory.com . تاريخ الاسترجاع: 24-04-2024 .
- ^ شوارتز، جي تي؛ ديوار، ربك. دوبينسكي، إي. شونبيرج، إي. (1986). البرمجة مع المجموعات: مقدمة إلى SETL نيويورك، نيويورك: سبرينغر-فيرلاغ. رقم ISBN 978-1-4613-9577-5.
- ^ إي.ف. بوتوسين، أد. (2001). ستانوفليني نوفوسيبيرسك مدرسة برمجة (موزاييكا فوسبومينيي) [ تشكيل مدرسة نوفوسيبيرسك للبرمجة (فسيفساء الذكريات) ] (PDF) (بالروسية). نوفوسيبيرسك: نظام المعلوماتية في المعهد. أ. ص. Ерова СО RAН. ص 106 – 113.
- ↑ ديوار، روبرت ب.ك.؛ فيشر الابن، جيرالد أ.؛ شونبرغ، إدموند؛ فروليش، روبرت؛ براينت، ستيفن؛ غوس، كلينتون ف.؛ بيرك، مايكل (نوفمبر 1980). "مترجم ومفسر لغة آدا في جامعة نيويورك". وقائع ندوة ACM-SIGPLAN حول لغة برمجة آدا - SIGPLAN '80 . المجلد 15. الصفحات 194-201 . doi : 10.1145/948632.948659 . ISBN 0-89791-030-3. S2CID 10586359 .
- ↑ شركة سوفتك (11 أبريل 1983). "تقرير ملخص التحقق من صحة مُترجم لغة آدا: NYU Ada/ED، الإصدار 19.7 V-001" . والثام، ماساتشوستس. مؤرشف من الأصل في 7 يونيو 2017. تم الاطلاع عليه بتاريخ 16 ديسمبر 2010 .
- ↑ مطور بايثون: SETL (كان: مترددًا بشأن القيم الحرفية للنطاق)
- 1 2 "SETL2 – EDM2" . www.edm2.com . تم الاطلاع عليه بتاريخ 24-04-2024 .
- ↑ باكستر هاستينغز، نانسي؛ دوبينسكي، إد؛ ليفين، غاري (1989). تعلم الرياضيات المتقطعة باستخدام ISETL . نيويورك: سبرينغر-فيرلاغ. ISBN 978-0-387-96898-8.
- ↑ "GNU SETL" . setl.org . تم الاطلاع عليه بتاريخ 24-04-2024 .
للمزيد من القراءة
- شوارتز، جاكوب تي، "نظرية المجموعات كلغة لتحديد البرامج والبرمجة". معهد كورانت للعلوم الرياضية، جامعة نيويورك، 1970.
- شوارتز، جاكوب تي، "حول البرمجة، تقرير مؤقت عن مشروع SETL"، قسم علوم الحاسوب، معهد كورانت للعلوم الرياضية، جامعة نيويورك (1973).
- شوارتز، جاكوب ت.، ديوار، آر بي كيه، دوبينسكي، إي.، وشونبيرغ، إي.، البرمجة باستخدام المجموعات: مقدمة إلى SETL ، 1986. ISBN 0-387-96399-5.
روابط خارجية
- لغات البرمجة الأكاديمية
- لغات البرمجة القائمة على نظرية المجموعات
- لغات البرمجة التي تم ابتكارها عام 1969
