كاليدوسكوب (لغة برمجة)

لغة برمجة Kaleidoscope هي لغة برمجة قيودية تُدمج القيود في لغة برمجة كائنية التوجه إجرائية . تُضيف الكلمات المفتاحية always و once و assert .. during (سابقًا while .. assert ) للتعبير عن ثوابت العلاقات. تحتوي الكائنات على مُنشئات قيودية، وهي ليست دوالًا، لفرض معاني أنواع البيانات المُعرّفة من قِبل المستخدم.

توجد ثلاث نسخ من لغة Kaleidoscope تُظهر تطورًا من الأسلوب التصريحي إلى الأسلوب الإجرائي المتزايد. وفيما يلي الاختلافات بينها. [ 1 ]

كاليدوسكوب 90كاليدوسكوب 91كاليدوسكوب 93
تقييم القيودكسولمشتاقمشتاق
المتغيراتبث مباشربث مباشرإلزامي
القيود المتزامنةحازمحازمغير صارم
بناء الجملةيشبه الحديث العابرشبيه بالألغولشبيه بالألغول
نموذج القيودالتحسينالتحسيناضطراب
إرسال الأساليبأعزبعديدعديد
تكليفكقيدكقيدمدمر

مثال

قارن بين جزئي الكود، وكلاهما يسمح للمستخدم بسحب مستوى الزئبق في مقياس حرارة رسومي بسيط باستخدام الماوس.

بدون قيود:

بينما زر الماوس مضغوط، نفّذ old <- mercury.top; mercury.top <- mouse.location.y; درجة الحرارة <- ارتفاع الزئبق / المقياس؛ عرض_الرقم( درجة الحرارة ); إذا كان القديم < قمة الزئبق، delta_grey( old, mercury.top ); وإلا إذا كان القديم > أعلى قيمة الزئبق delta_white( mercury.top, old ); نهاية الشرط؛ نهاية الحلقة؛

مع مراعاة القيود التالية:

دائماً: درجة الحرارة = ارتفاع الزئبق / المقياس؛ دائماً: مستطيل أبيض (مقياس حرارة)؛ دائماً: مستطيل رمادي (زئبق)؛ دائماً: عرض الرقم (درجة الحرارة)؛ بينما زر الماوس مضغوط، نفّذ mercury.top = mouse.location.y; نهاية الحلقة؛

مراجع

  • لوبيز، غوس؛ بيورن فريمان-بينسون؛ آلان بورنينغ (1994). "كاليديوسكوب: لغة برمجة إجرائية مقيدة". برمجة القيود . سبرينغر-فيرلاغ. ص 313-329 . 
  • ماريوت، كيم؛ بيتر ج. ستوكي (1998). البرمجة مع القيود: مقدمة . مطبعة معهد ماساتشوستس للتكنولوجيا.رقم الكتاب المعياري الدولي (ISBN) 0-262-13341-5
  1. لوبيز، غاس؛ فريمان-بنسون، بيورن؛ بورنينغ، آلان (1993). "كاليديوسكوب: لغة برمجة إجرائية مقيدة" (ملف PDF) . constraints.cs.washington.edu . تاريخ الاسترجاع: 30 ديسمبر 2023 .