الأمل (لغة برمجة)
هوب هي لغة برمجة مبنية على البرمجة الوظيفية ، طُوّرت في سبعينيات القرن العشرين في جامعة إدنبرة . [ 1 ] [ 2 ] وهي أقدم من ميراندا وهاسكل ، ومعاصرة للغة ML التي طُوّرت أيضًا في الجامعة نفسها. اشتُقت هوب من NPL ، [ 3 ] وهي لغة وظيفية بسيطة طوّرها رود بيرستال وجون دارلينجتون في عملهما على تحويل البرامج. [ 4 ] تتميز كل من NPL وهوب بكونهما أول لغتين تعتمدان على تقييم الاستدعاءات حسب النمط وأنواع البيانات الجبرية . [ 5 ]
سميت هوب على اسم السير توماس هوب (حوالي 1681-1771)، وهو مصلح زراعي اسكتلندي ، والذي سميت ساحة هوب بارك في إدنبرة ، موقع قسم الذكاء الاصطناعي في وقت تطوير هوب، على اسمه أيضًا.
استخدمت النسخة الأولى من لغة Hope التقييم الصارم ، ولكن ظهرت منذ ذلك الحين نسخٌ ذات تقييم كسول ونسخٌ ذات تقييم صارم مع مُنشئات كسولة. أما لغة Hope+، التي طُوّرت بالاشتراك بين إمبريال كوليدج وشركة International Computers Limited ، فقد أضافت تعليقات توضيحية لتحديد ما إذا كان التقييم صارمًا أم كسولًا. [ 6 ]
تفاصيل اللغة
برنامج العوامل في هوب هو:
حقيقة dec: num -> num; --- حقيقة 0 <= 1؛ --- fact n <= n*fact(n-1);
لا يُغيّر تغيير ترتيب البنود معنى البرنامج، لأنّ مطابقة الأنماط في لغة Hope تُفضّل دائمًا الأنماط الأكثر تحديدًا على الأقل تحديدًا. يتطلب استخدام Hope تعريفات صريحة لأنواع البيانات ؛ إذ لا توجد خوارزمية لاستنتاج الأنواع .
توفر مكتبة Hope بنيتين مدمجتين للبيانات : الصفوف والقوائم . [ 7 ]
التطبيقات
يشير شرح روجر بيلي لبرنامج Hope في عدد أغسطس 1985 من مجلة Byte إلى مترجم لنظام التشغيل IBM PC DOS 2.0. [ 7 ] شرعت شركة British Telecom في مشروع مع إمبريال كوليدج لندن لتنفيذ نسخة من Hope. قام ثانوس فاسيلاكيس ببرمجة الإصدار الأول عام 1986، بينما قام مارك تاسنغ من British Telecom ببرمجة الإصدارات اللاحقة.
مراجع
- ↑ بورستال، آر إم ؛ ماكوين، دي بي؛ سانيلا، دي تي (1980). "الأمل: لغة تطبيقية تجريبية". وقائع مؤتمر ليسب لعام 1980 (ملف PDF) . جامعة ستانفورد، ستانفورد، كاليفورنيا، الولايات المتحدة. ص 136-143.
{{cite book}}: CS1 maint: موقع الناشر مفقود ( رابط ) - ↑ بيلي، روجر (1 أبريل 1990). البرمجة الوظيفية مع الأمل . سلسلة إليس هوروود في الحوسبة وتطبيقاتها. شركة إليس هوروود المحدودة.
- ↑ بورستال، آر إم (1977). اعتبارات تصميم لغة برمجة وظيفية (ورقة بحثية مدعوة) . وقائع مؤتمر إنفوتك لأحدث التقنيات "ثورة البرمجيات". كوبنهاغن. ص 45-57 .
- ↑ بورستال، آر إم ؛ دارلينجتون، جيه. (1977). "نظام تحويل لتطوير البرامج التكرارية". مجلة رابطة آلات الحوسبة . 24 (1): 44-67 .
- ↑ هوداك، بول ؛ هيوز، جون ؛ بيتون جونز، سيمون ؛ وادلر، فيليب (9 يونيو 2007). تاريخ لغة هاسكل: الكسل مع الفئة . ACM. ص 12-1 . doi : 10.1145/1238844.1238856 . ISBN 9781595937667. S2CID 52847907 .
- ↑ كيولي، جون؛ جلين، كيفن (1989). "تعليقات التقييم لبرنامج Hope+". في ديفيس، كي؛ هيوز، آر جيه إم (محرران). البرمجة الوظيفية: وقائع ورشة عمل غلاسكو لعام 1989، ورش عمل في الحوسبة . لندن، المملكة المتحدة: سبرينغر-فيرلاغ (نُشر عام 1990). الصفحات 329-337 .
- 1 2 بيلي، روجر (أغسطس 1985). "دليل تعليمي حول الأمل" . بايت . المجلد 10، العدد 8. ص 235-258 . تم الاطلاع عليه في 13 يناير 2025 .
روابط خارجية
- مترجم الأمل لنظام التشغيل ويندوز
- مدخل في قاموس لغات البرمجة على الإنترنت
- اللغات الوظيفية
- لغات البرمجة الأكاديمية
- تاريخ الحوسبة في المملكة المتحدة
- لغات البرمجة ذات الكتابة الثابتة
- جامعة إدنبرة
