لغة البرمجة Manticore هي مشروع يهدف إلى تصميم وتنفيذ لغة وظيفية جديدة للبرمجة المتوازية. وبخلاف العديد من لغات البرمجة المتوازية السابقة، تعتبر Manticore لغة متنوعة تدعم التوازي على مستويات متعددة. على وجه الخصوص، تجمع لغة Manticore بين توازي Concurrent ML وهو نوع من التوازي الصريح وبين هياكل توازي ذات موضوعية دقيقة تعمل بشكل ضمني.
على مستوى التوازي الصريح، تدعم Manticore إنشاء خيوط تحكم متميزة وتنسيق الخيوط من خلال تبادل الرسائل المتزامنة من الدرجة الأولى. وتتناسب مزامنة تبادل الرسائل، بالمقارنة مع مزامنة الذاكرة المشتركة، بشكل طبيعي مع النمط البرمجي الوظيفي.
على مستوى التوازي الضمني، تدعم Manticore مجموعة متنوعة من البنى المتوازية لمختلف مستويات العمل. والعديد من هذه البنى مستوحاة من عادات البرمجة الوظيفية الشائعة. بالإضافة إلى وصف الآليات الأساسية، سنقدم عددًا من التقنيات البرمجية المفيدة التي يتيحها هذه الآليات. وسنناقش بإيجاز بعض تقنيات التنفيذ المستخدمة لتنفيذ برامج Manticore على أجهزة متعددة النواة الشائعة.
يعتبر هذا المشروع جزءًا من جهود جامعة شيكاغو، ويتميز بتوفيره تنوعًا في تعامله مع التوازي وتوفير آليات برمجية قوية للاستفادة القصوى من البنية المتنوعة للتوازي.