Session type
ٹائپ تھیوری میں، سمورتی پروگراموں میں درستگی کو یقینی بنانے کے لیے سیشن کی اقسام کا استعمال کیا جاتا ہے۔ وہ اس بات کی ضمانت دیتے ہیں کہ سمورتی پروگراموں کے درمیان بھیجے گئے اور موصول ہونے والے پیغامات متوقع ترتیب میں اور متوقع قسم کے ہیں۔ سیشن ٹائپ سسٹمز کو چینل اور اداکار دونوں سسٹمز کے لیے ڈھال لیا گیا ہے۔ سیشن کی اقسام کا استعمال ہم آہنگی اور تقسیم شدہ نظاموں میں مطلوبہ خصوصیات کو یقینی بنانے کے لیے کیا جاتا ہے، یعنی۔ مواصلاتی غلطیوں یا ڈیڈ لاک کی عدم موجودگی، اور پروٹوکول کی مطابقت۔ بائنری بمقابلہ ملٹی پارٹی سیشن کی اقسام دو عمل کے درمیان تعامل کو بائنری سیشن کی اقسام کا استعمال کرتے ہوئے چیک کیا جا سکتا ہے، جبکہ دو سے زیادہ عمل کے درمیان تعاملات کو ملٹی پارٹی سیشن کی اقسام کا استعمال کرتے ہوئے چیک کیا جا سکتا ہے۔ ملٹی پارٹی سیشن کی اقسام میں تمام شرکاء کے درمیان تعاملات کو ایک عالمی قسم کا استعمال کرتے ہوئے بیان کیا جاتا ہے، جسے پھر مقامی اقسام میں پیش کیا جاتا ہے جو ہر شریک کے مقامی نقطہ نظر سے مواصلات کو بیان کرتا ہے۔ اہم بات یہ ہے کہ عالمی قسم مواصلات کی ترتیب کی معلومات کو انکوڈ کرتی ہے، جو کہ کھو جائے گی اگر ہم اسی مواصلات کو انکوڈ کرنے کے لیے بائنری سیشن کی اقسام کا استعمال کریں۔ بائنری سیشن کی رسمی تعریف بائنری سیشن کی اقسام کو بھیجنے کی کارروائیوں ()، وصول کرنے کی کارروائیوں ()، شاخوں ()، انتخاب ()، تکرار () اور اختتامی () کا استعمال کرتے ہوئے بیان کیا جا سکتا ہے۔ مثال کے طور پر، ایک سیشن کی قسم کی نمائندگی کرتا ہے جو پہلے بولین () بھیجتا ہے، پھر آخر میں () کو ختم کرنے سے پہلے ایک عدد () وصول کرتا ہے۔ عمل درآمد سیشن کی اقسام کو کئی موجودہ پروگرامنگ زبانوں کے لیے ڈھال لیا گیا ہے، جن میں شامل ہیں: ایل چینلز (اسکالا) ایفپی (اسکالا) ایس ٹی مانیٹر (اسکالا) اینسمبل ایس سیشن کی اقسام (زنگ) سیش (زنگ) سیشن اداکار (ازگر) نگرانی سیشن ایرلانگ (ایرلانگ) فوسی (او سی اے ایم ایل) سیشن-او سی اے ایم ایل (او سی اے ایم ایل) ترجیحی سیش (ہاسکل) جاوا ٹائپ اسٹیٹ چیکر (جاوا) حوالہ جات ہم آہنگی (کمپیوٹر سائنس) ٹائپ تھیوری ٹائپ سسٹم۔