संयुक्त-गणना: Difference between revisions

From Vigyanwiki
Line 24: Line 24:
ये कार्यान्वयन अंतर्निहित प्रोग्रामिंग भाषा को नहीं बदलते हैं लेकिन एक कस्टम लाइब्रेरी या डीएसएल के माध्यम से कैलकुलस संचालन में शामिल होते हैं:
ये कार्यान्वयन अंतर्निहित प्रोग्रामिंग भाषा को नहीं बदलते हैं लेकिन एक कस्टम लाइब्रेरी या डीएसएल के माध्यम से कैलकुलस संचालन में शामिल होते हैं:


* स्कालाजॉइन्स और [https://github.com/Chymyst/Chymyst Chymyst] पुस्तकालय [[स्काला (प्रोग्रामिंग भाषा)]] में हैं
* स्कालाजॉइन्स और [https://github.com/Chymyst/Chymyst चाइमिस्ट] पुस्तकालय [[स्काला (प्रोग्रामिंग भाषा)]] में हैं
* [http://joinhs.sourceforge.net/ JoinHs] Einar Karttunen द्वारा और [https://github.com/syallop/Join-Language syallop/Join-Language] सैमुअल येलोप द्वारा हास्केल (प्रोग्रामिंग) में ज्वाइन कैलकुलस के लिए DSL हैं भाषा)
* ईनार कार्टुनेन द्वारा [http://joinhs.sourceforge.net/ ज्वाइनएचएस] और सैम्युअल यलोप द्वारा [https://github.com/syallop/Join-Language सिलोप/ज्वाइ-भाषा] हास्केल में जॉइन कैलकुलस के लिए डीएसएल हैं
* Joinads - F Sharp (प्रोग्रामिंग लैंग्वेज) में ज्वाइन कैलकुलस के विभिन्न कार्यान्वयन | F#
* जॉइनैड्स - F#(प्रोग्रामिंग लैंग्वेज) में ज्वाइन कैलकुलस के विभिन्न कार्यान्वयन
* कोकोजॉइन आईओएस और मैक ओएस एक्स के लिए [[ उद्देश्य सी ]] में एक प्रायोगिक कार्यान्वयन है
* कोकोजॉइन आईओएस और मैक ओएस एक्स के लिए [[ उद्देश्य सी |उद्देश्य सी]] में एक प्रायोगिक कार्यान्वयन है
* जॉइन पायथन लाइब्रेरी [[पायथन 3]] में है
* जॉइन पायथन लाइब्रेरी [[पायथन 3]] में है
* सी ++ बूस्ट के माध्यम से<ref>[http://channel.sourceforge.net/boost_join/libs/join/doc/boost_join_design.html Yigong Liu - Join-Asynchronous Message Coordination and Concurrency Library]</ref> (2009 से बूस्ट के लिए, ca. v. 40, वर्तमान (दिसंबर '19) 72 है)।
* C++ बूस्ट के माध्यम से<ref>[http://channel.sourceforge.net/boost_join/libs/join/doc/boost_join_design.html Yigong Liu - Join-Asynchronous Message Coordination and Concurrency Library]</ref> (2009 से बूस्ट के लिए, ca. v. 40, वर्तमान (दिसंबर '19) 72 है)।


==संदर्भ==
==संदर्भ==

Revision as of 18:36, 2 June 2023

ज्वाइन-कैलकुलस आई एन आर आई ए में विकसित एक प्रक्रिया गणना है। जॉइन-कैलकुलस को वितरित प्रोग्रामिंग भाषाओं के डिजाइन के लिए एक औपचारिक आधार प्रदान करने के लिए विकसित किया गया था, और इसलिए जानबूझकर अन्य प्रक्रिया गणना में पाए जाने वाले संचार निर्माणों से बचा जाता है, जैसे कि तुल्यकालिक मिलन स्थल संचार, जो एक वितरित व्यवस्था में लागू करना दुष्कर है।[1] इस सीमा के बावजूद, ज्वाइन-कैलकुलस पूर्ण π-कैलकुलस के समान अभिव्यंजक है। ज्वाइन-कैलकुलस में π-कैलकुलस के एनकोडिंग, और जो इसके विपरीत भी संभव है, प्रदर्शित किए गए हैं।[2]

ज्वाइन-कैलकुलस प्रक्रिया कैलकुली के π-कैलकुलस परिवार का सदस्य है, और इसके मूल में, कई मजबूत प्रतिबंधों के साथ एक अतुल्यकालिक π-कैलकुलस माना जा सकता है:

  • क्षेत्र प्रतिबंध, अभिग्रहण, और प्रतिरूपित अभिग्रहण को वाक्यात्मक रूप से एक ही निर्माण, परिभाषा में विलय कर दिया गया है;
  • संचार केवल परिभाषित नामों पर होता है;
  • प्रत्येक परिभाषित नाम के लिए वास्तव में एक प्रतिकृति अभिग्रहण होता है।

हालाँकि, प्रोग्रामिंग के लिए एक भाषा के रूप में, जॉइन-कैलकुलस π-कैलकुलस पर कम से कम एक सुविधा प्रदान करता है - अर्थात् बहु-मार्ग जॉइन पैटर्न का उपयोग, एक साथ कई चैनलों से संदेशों के विरुद्ध मिलान करने की क्षमता।[3]

कार्यान्वयन

ज्वाइन-कैलकुलस पर आधारित भाषाएँ

जॉइन-कैलकुलस प्रोग्रामिंग भाषा जॉइन-कैलकुलस प्रोसेस कैलकुलस पर आधारित एक नई भाषा है। इसे ओकैमल (प्रोग्रामिंग भाषा) में लिखे गए दुभाषिया के रूप में लागू किया गया है, और स्थिर रूप से टाइप किए गए वितरित प्रोग्रामिंग, पारदर्शी दूरस्थ संचार, प्रतिनिधि-आधारित गतिशीलता और कुछ विफलता-पहचान का समर्थन करता है।[4]

  • हालांकि स्पष्ट रूप से यह ज्वाइन-कैलकुलस पर आधारित नहीं है, क्लिप्स की नियम प्रणाली इसे लागू करती है यदि हर नियम ट्रिगर होने पर अपने इनपुट को हटा देता है (निकाल दिए जाने पर प्रासंगिक तथ्यों को वापस ले लेता है)।

ज्वाइन-कैलकुलस के कई कार्यान्वयन मौजूदा प्रोग्रामिंग भाषाओं के विस्तार के रूप में किए गए थे:

  • जोकैमल,ओकैमल का एक संस्करण है जो जॉइन-कैलकुलस प्रिमिटिव के साथ विस्तारित है
  • पॉलीफोनिक C# और इसके उत्तराधिकारी Cω विस्तार C# (प्रोग्रामिंग भाषा)|
  • MC# और समांतर C# पॉलीफोनिक C# का विस्तार करें
  • जावा में शामिल हों जावा का विस्तार करता है
  • एक समवर्ती मूल प्रस्ताव जो जॉइन-कैलकुलस का उपयोग करता है
  • जेएरलांग (जे ज्वाइन के लिए है, एर्जांग जेवीएम के लिए एरलैंग है)[5]

अन्य प्रोग्रामिंग भाषाओं में एम्बेडिंग

ये कार्यान्वयन अंतर्निहित प्रोग्रामिंग भाषा को नहीं बदलते हैं लेकिन एक कस्टम लाइब्रेरी या डीएसएल के माध्यम से कैलकुलस संचालन में शामिल होते हैं:

  • स्कालाजॉइन्स और चाइमिस्ट पुस्तकालय स्काला (प्रोग्रामिंग भाषा) में हैं
  • ईनार कार्टुनेन द्वारा ज्वाइनएचएस और सैम्युअल यलोप द्वारा सिलोप/ज्वाइ-भाषा हास्केल में जॉइन कैलकुलस के लिए डीएसएल हैं
  • जॉइनैड्स - F#(प्रोग्रामिंग लैंग्वेज) में ज्वाइन कैलकुलस के विभिन्न कार्यान्वयन
  • कोकोजॉइन आईओएस और मैक ओएस एक्स के लिए उद्देश्य सी में एक प्रायोगिक कार्यान्वयन है
  • जॉइन पायथन लाइब्रेरी पायथन 3 में है
  • C++ बूस्ट के माध्यम से[6] (2009 से बूस्ट के लिए, ca. v. 40, वर्तमान (दिसंबर '19) 72 है)।

संदर्भ

  1. Cedric Fournet, Georges Gonthier (1995). "रिफ्लेक्सिव चैम और जॉइन-कैलकुलस". {{cite journal}}: Cite journal requires |journal= (help), pg. 1
  2. Cedric Fournet, Georges Gonthier (1995). "रिफ्लेक्सिव चैम और जॉइन-कैलकुलस". {{cite journal}}: Cite journal requires |journal= (help), pg. 2
  3. Petricek, Tomas. "जॉइनैड्स (IV.) - जॉइन कैलकुलस का उपयोग करके समवर्ती". tomasp.net. Retrieved 2023-01-24.
  4. Cedric Fournet, Georges Gonthier (2000). "The Join Calculus: A Language for Distributed Mobile Programming": 268–332. {{cite journal}}: Cite journal requires |journal= (help)
  5. "JErlang: Erlang with Joins". Archived from the original on 2017-12-08. Retrieved 2015-04-18.
  6. Yigong Liu - Join-Asynchronous Message Coordination and Concurrency Library


बाहरी संबंध