سيتل

لغة 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 ]

GNU SETL هي أداة سطر أوامر تقوم بتنفيذ وتوسيع SETL. [ 15 ]

مراجع

  1. 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.
  2. 1 2 "جنو سيتل أوم" . setl.org . تم الاسترجاع 2024-04-24 .
  3. 1 2 ماركوف، جون (4 مارس 2009). "وفاة العالم جاكوب تي. شوارتز، 79 عامًا، المعروف بنشاطه الدؤوب" . صحيفة نيويورك تايمز . الرقم الدولي الموحد للدوريات 0362-4331 . تاريخ الاسترجاع: 24 أبريل 2024 . 
  4. ^ شوارتز، جاكوب ت. كانتون، دومينيكو؛ أوموديو، يوجينيو ج. (2011). المنطق الحسابي ونظرية المجموعة . ص السابع. دوى : 10.1007/978-0-85729-808-9 . رقم ISBN  978-0-85729-807-2.
  5. 1 2 "الفصل الثاني" . www.settheory.com . تم الاطلاع عليه بتاريخ 24-04-2024 .
  6. 1 2 3 "الفصل 3" . www.settheory.com . تاريخ الاسترجاع: 24-04-2024 .
  7. "الفصل 4" . www.settheory.com . تاريخ الاسترجاع: 24-04-2024 .
  8. ^ شوارتز، جي تي؛ ديوار، ربك. دوبينسكي، إي. شونبيرج، إي. (1986). البرمجة مع المجموعات: مقدمة إلى SETL نيويورك، نيويورك: سبرينغر-فيرلاغ. رقم ISBN 978-1-4613-9577-5.
  9. ^ إي.ف. بوتوسين، أد. (2001). ستانوفليني نوفوسيبيرسك مدرسة برمجة (موزاييكا فوسبومينيي) [ تشكيل مدرسة نوفوسيبيرسك للبرمجة (فسيفساء الذكريات) ] (PDF) (بالروسية). نوفوسيبيرسك: نظام المعلوماتية في المعهد. أ. ص. Ерова СО RAН. ص 106 – 113. 
  10. ديوار، روبرت ب.ك.؛ فيشر الابن، جيرالد أ.؛ شونبرغ، إدموند؛ فروليش، روبرت؛ براينت، ستيفن؛ غوس، كلينتون ف.؛ بيرك، مايكل (نوفمبر 1980). "مترجم ومفسر لغة آدا في جامعة نيويورك". وقائع ندوة ACM-SIGPLAN حول لغة برمجة آدا - SIGPLAN '80 . المجلد 15. الصفحات 194-201 . doi : 10.1145/948632.948659 . ISBN   0-89791-030-3. S2CID 10586359 . 
  11. شركة سوفتك (11 أبريل 1983). "تقرير ملخص التحقق من صحة مُترجم لغة آدا: NYU Ada/ED، الإصدار 19.7 V-001" . والثام، ماساتشوستس. مؤرشف من الأصل في 7 يونيو 2017. تم الاطلاع عليه بتاريخ 16 ديسمبر 2010 .
  12. مطور بايثون: SETL (كان: مترددًا بشأن القيم الحرفية للنطاق)
  13. 1 2 "SETL2 – EDM2" . www.edm2.com . تم الاطلاع عليه بتاريخ 24-04-2024 .
  14. باكستر هاستينغز، نانسي؛ دوبينسكي، إد؛ ليفين، غاري (1989). تعلم الرياضيات المتقطعة باستخدام ISETL . نيويورك: سبرينغر-فيرلاغ. ISBN 978-0-387-96898-8.
  15. "GNU SETL" . setl.org . تم الاطلاع عليه بتاريخ 24-04-2024 .

للمزيد من القراءة

  • شوارتز، جاكوب تي، "نظرية المجموعات كلغة لتحديد البرامج والبرمجة". معهد كورانت للعلوم الرياضية، جامعة نيويورك، 1970.
  • شوارتز، جاكوب تي، "حول البرمجة، تقرير مؤقت عن مشروع SETL"، قسم علوم الحاسوب، معهد كورانت للعلوم الرياضية، جامعة نيويورك (1973).
  • شوارتز، جاكوب ت.، ديوار، آر بي كيه، دوبينسكي، إي.، وشونبيرغ، إي.، البرمجة باستخدام المجموعات: مقدمة إلى SETL ، 1986. ISBN 0-387-96399-5.