Session type
प्रकार सिद्धांत में, समवर्ती कार्यक्रमों में शुद्धता सुनिश्चित करने के लिए सत्र प्रकारों का उपयोग किया जाता है। वे गारंटी देते हैं कि समवर्ती कार्यक्रमों के बीच भेजे गए और प्राप्त किए गए संदेश अपेक्षित क्रम में और अपेक्षित प्रकार के हैं। चैनल और अभिनेता दोनों प्रणालियों के लिए सत्र प्रकार प्रणालियों को अनुकूलित किया गया है। सत्र प्रकारों का उपयोग समवर्ती और वितरित प्रणालियों में वांछनीय गुणों को सुनिश्चित करने के लिए किया जाता है, अर्थात। संचार त्रुटियों या गतिरोध की अनुपस्थिति, और प्रोटोकॉल अनुरूपता। द्विआधारी बनाम बहुपक्षीय सत्र प्रकार दो प्रक्रियाओं के बीच बातचीत को द्विआधारी सत्र प्रकारों का उपयोग करके जांचा जा सकता है, जबकि दो से अधिक प्रक्रियाओं के बीच बातचीत को बहुपक्षीय सत्र प्रकारों का उपयोग करके जांचा जा सकता है। बहुपक्षीय सत्र प्रकारों में सभी प्रतिभागियों के बीच बातचीत को एक वैश्विक प्रकार का उपयोग करके वर्णित किया जाता है, जिसे फिर स्थानीय प्रकारों में पेश किया जाता है जो प्रत्येक प्रतिभागी के स्थानीय दृष्टिकोण से संचार का वर्णन करते हैं। महत्वपूर्ण रूप से, वैश्विक प्रकार संचार की अनुक्रमण जानकारी को कूटबद्ध करता है, जो खो जाएगा यदि हम उसी संचार को कूटबद्ध करने के लिए द्विआधारी सत्र प्रकारों का उपयोग करते हैं। द्विआधारी सत्र की औपचारिक परिभाषा प्रकार द्विआधारी सत्र प्रकारों को भेजने के संचालन (), प्राप्त करने के संचालन (), शाखाओं (), चयन (), पुनरावृत्ति () और समाप्ति () का उपयोग करके वर्णित किया जा सकता है। उदाहरण के लिए, एक सत्र प्रकार का प्रतिनिधित्व करता है जो पहले एक बूलियन () भेजता है, फिर अंत में () समाप्त करने से पहले एक पूर्णांक () प्राप्त करता है। कार्यान्वयन सत्र प्रकारों को कई मौजूदा प्रोग्रामिंग भाषाओं के लिए अनुकूलित किया गया है, जिनमें शामिल हैंः एल-चैनल (स्केला) एफपी (स्काला) एसटी-मॉनिटर (स्काला) एन्सेम्बल सत्र-प्रकार (रस्ट) सेश (रस्ट) सत्र अभिनेता (पायथन) निगरानी सत्र एर्लांग (एर्लांग) फुसे (ओसीएएमएल) सत्र-ओसीएएमएल (ओसीएएमएल) प्राथमिकता सेश (हास्केल) जावा टाइपस्टेट चेकर (जावा) संदर्भ समरूपता (कंप्यूटर विज्ञान) प्रकार सिद्धांत प्रकार प्रणाली