2011-12-17 6 views
5

क्या कोई प्रोग्रामिंग भाषा है जहां आपको खुद को अभिनेताओं को परिभाषित करने की आवश्यकता नहीं है - डिफ़ॉल्ट रूप से प्रत्येक फ़ंक्शन को एक अलग अभिनेता के रूप में चलाया जाता है (जिसका अर्थ है कि मुफ्त कोर उपलब्ध होने पर अलग धागा हो सकता है)?क्या कोई प्रोग्रामिंग भाषा है जहां हर समारोह अनिवार्य रूप से एक अलग अभिनेता के रूप में चलाया जाता है?

उदाहरण के लिए इसका मतलब है कि अगर मैं के रूप में

v = fA(x) + fB(y) 

तो एफए और अमेरिकन प्लान एक साथ गणना की जा सकती से पहले उनके परिणामों का योग वी को सौंपा गया था।

+0

http://en.wikipedia.org/wiki/Occam_%28programming_l anguage% 29 –

उत्तर

2

के रूप में सरल कुछ लिखो मुझे नहीं पता लगता है कि इस चरम पर कुछ भी है, क्योंकि संदर्भ स्विचिंग और कॉम्यूनिकेशन ओवरहेड बहुत बड़ा होगा।

जो भी आप पूछ रहे हैं उसके बारे में सबसे नज़दीक मैं डेटा-समांतर प्रोग्रामिंग कर सकता हूं, जहां कार्यक्रम ज्यादातर अनुक्रमिक संस्करण के समान शैली में लिखा जाता है लेकिन इसके कुछ हिस्सों को समानांतर में समानांतर में चलाया जाता है।

उदाहरण फोर्ट्रान में लूप वेक्टरेशन और हास्केल में "पैरा" जादू हैं।

2

हास्केल का par संयोजक आपको समवर्ती रूप से अभिव्यक्तियों का मूल्यांकन करने देता है (यदि अलग-अलग कोर उपलब्ध हैं तो अलग-अलग धागे में इसका मतलब हो सकता है)। आपको बस इतना करना है:

x `par` y 

कौन सा समवर्ती x और y का मूल्यांकन करेंगे, और y का मान। ध्यान दें कि x और y मनमाने ढंग से जटिलता के कार्यक्रम हो सकते हैं।

1

जौल एक शुद्ध अतुल्यकालिक संदेश गुजर भाषा है:

http://en.wikipedia.org/wiki/Joule_%28programming_language%29

http://www.erights.org/history/joule/MANUAL.BK5.pdf

ActorScript, एक शुद्ध अभिनेता संदेश-गुजर भाषा है, लेकिन प्रतीत होता है केवल एक विनिर्देश के रूप में मौजूद रहे हैं:

http://arxiv.org/abs/1008.2748

संबंधित मुद्दे