मल्टीलिस्प: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 30: Line 30:
मल्टीलिस्प एक [[कार्यात्मक प्रोग्रामिंग]] [[प्रोग्रामिंग भाषा]] है, भाषा [[लिस्प (प्रोग्रामिंग भाषा)]] की एक [[बोली (कंप्यूटिंग)]] है और इसकी बोली [[योजना (प्रोग्रामिंग भाषा)]], [[समानांतर कंप्यूटिंग]] निष्पादन और साझा स्मृति के निर्माण के साथ विस्तारित है। इन विस्तार में [[ साइड इफेक्ट (कंप्यूटर विज्ञान) | दुष्प्रभाव (कंप्यूटर विज्ञान)]] सम्मिलित है, जो मल्टीलिस्प [[गैर नियतात्मक प्रोग्रामिंग]] प्रदान करता है। इसके समानांतर-प्रोग्रामिंग विस्तार के साथ मल्टीलिस्प में कुछ असामान्य [[कचरा संग्रह (कंप्यूटर विज्ञान)]] और कार्य अनुसूची एल्गोरिदम भी थे। योजना की तरह मल्टीलिस्प को [[कंप्यूटर बीजगणित|प्रतीकात्मक कंप्यूटिंग]] के लिए अनुकूलित किया गया था। कुछ समानांतर प्रोग्रामिंग भाषाओं के विपरीत मल्टीलिस्प ने दुष्प्रभाव पैदा करने और समानांतरता को स्पष्ट रूप से प्रस्तुत करने के लिए सम्मिलित किया।
मल्टीलिस्प एक [[कार्यात्मक प्रोग्रामिंग]] [[प्रोग्रामिंग भाषा]] है, भाषा [[लिस्प (प्रोग्रामिंग भाषा)]] की एक [[बोली (कंप्यूटिंग)]] है और इसकी बोली [[योजना (प्रोग्रामिंग भाषा)]], [[समानांतर कंप्यूटिंग]] निष्पादन और साझा स्मृति के निर्माण के साथ विस्तारित है। इन विस्तार में [[ साइड इफेक्ट (कंप्यूटर विज्ञान) | दुष्प्रभाव (कंप्यूटर विज्ञान)]] सम्मिलित है, जो मल्टीलिस्प [[गैर नियतात्मक प्रोग्रामिंग]] प्रदान करता है। इसके समानांतर-प्रोग्रामिंग विस्तार के साथ मल्टीलिस्प में कुछ असामान्य [[कचरा संग्रह (कंप्यूटर विज्ञान)]] और कार्य अनुसूची एल्गोरिदम भी थे। योजना की तरह मल्टीलिस्प को [[कंप्यूटर बीजगणित|प्रतीकात्मक कंप्यूटिंग]] के लिए अनुकूलित किया गया था। कुछ समानांतर प्रोग्रामिंग भाषाओं के विपरीत मल्टीलिस्प ने दुष्प्रभाव पैदा करने और समानांतरता को स्पष्ट रूप से प्रस्तुत करने के लिए सम्मिलित किया।


इसे 1980 के दशक के प्रारंभ में रॉबर्ट एच. हैल्स्टेड जूनियर द्वारा 32-प्रोसेसर कॉन्सर्ट [[ बहु ]] पर उपयोग के लिए बनाया गया था, जिसे तब [[मैसाचुसेट्स की तकनीकी संस्था]] (MIT) में विकसित किया जा रहा था और [[इंटरलिस्प]] में लागू किया गया था। इसने योजना बोलियों [[गैम्बिट (योजना कार्यान्वयन)]] <ref>{{cite web |url=http://dynamo.iro.umontreal.ca/wiki/index.php/Main_Page  |title=पहला क़दम|author=WikiSysop |author2=Mikaelm |author3=Bjlucier |last4=Thedens |first4=Dan |date=2019-02-06 |access-date=2019-04-21}}</ref> और इंटरलिस्प-[[वैक्स]] के विकास को प्रभावित किया।
इसे 1980 के दशक के प्रारंभ में रॉबर्ट एच. हैल्स्टेड जूनियर द्वारा 32-प्रक्रमक सहवादन [[ बहु | बहु प्रक्रमक]] पर उपयोग के लिए बनाया गया था, जिसे तब [[मैसाचुसेट्स की तकनीकी संस्था|मैसाचुसेट्स इंस्टीट्यूट ऑफ टेक्नोलॉजी]] (MIT) में विकसित किया जा रहा था और [[इंटरलिस्प]] में लागू किया गया था। इसने योजना भाषिका [[गैम्बिट (योजना कार्यान्वयन)]] <ref>{{cite web |url=http://dynamo.iro.umontreal.ca/wiki/index.php/Main_Page  |title=पहला क़दम|author=WikiSysop |author2=Mikaelm |author3=Bjlucier |last4=Thedens |first4=Dan |date=2019-02-06 |access-date=2019-04-21}}</ref> और इंटरलिस्प-[[वैक्स|वैक्स(VAX)]] के विकास को प्रभावित किया।


== पीसीकॉल और फ्यूचर ==
== पीसीकॉल और फ्यूचर ==
MultiLisp PCALL Macro (कंप्यूटर विज्ञान) के साथ समानता प्राप्त करता है, जहाँ
मल्टीलिस्प PCALL मैक्रो (कंप्यूटर विज्ञान) के साथ समानता प्राप्त करता है, जहाँ


<code>(PCALL Fun A B C ...)</code>
<code>(PCALL Fun A B C ...)</code>
के बराबर है
के बराबर है


<code>(Fun A B C ...)</code>
<code>(Fun A B C ...)</code>
सिवाय इसके कि [[पैरामीटर (कंप्यूटर प्रोग्रामिंग)]]<code>A, B, C,</code> आदि को स्पष्ट रूप से समानांतर में मूल्यांकन करने की अनुमति है; यह मूल्यांकन के सामान्य क्रम को रोकता है, जो अनुक्रमिक और बाएं से दाएं होता है। यह फ़्यूचर (प्रोग्रामिंग) नामक समानांतर प्रोग्रामिंग निर्माण का भी उपयोग करता है, जो [[आलसी मूल्यांकन]] के साथ मिलकर [[ कांटा (सिस्टम कॉल) ]] जैसा दिखता है। इस निर्माण का उपयोग करते हुए, एक अभिव्यक्ति जैसे
 
सिवाय इसके कि [[पैरामीटर (कंप्यूटर प्रोग्रामिंग)]] <code>A, B, C,</code> आदि को स्पष्ट रूप से समानांतर में मूल्यांकन करने की अनुमति है, यह मूल्यांकन के सामान्य क्रम को रोकता है जो अनुक्रमिक और बाएं से दाएं होता है। यह फ़्यूचर (प्रोग्रामिंग) नामक समानांतर प्रोग्रामिंग निर्माण का भी उपयोग करता है, जो [[आलसी मूल्यांकन|अनुद्योगी मूल्यांकन]] के साथ मिलकर [[ कांटा (सिस्टम कॉल) | फोर्किंग]] जैसा दिखता है। इस निर्माण का उपयोग करते हुए, एक अभिव्यक्ति जैसे


<code>([[cons]] (FUTURE A) (FUTURE B))</code>
<code>([[cons]] (FUTURE A) (FUTURE B))</code>
लिखा जा सकता है, जो अभिव्यक्ति और बी के मूल्यांकन को ओवरलैप करेगा, न केवल एक दूसरे के साथ, बल्कि उन संगणनाओं के साथ जो [[ दोष ]] कॉल के परिणाम का उपयोग करते हैं, जब तक कि एक ऑपरेशन नहीं किया जाता है जिसके लिए या बी के मूल्य के बारे में सही जानकारी की आवश्यकता होती है। .
 
लिखा जा सकता है, जो अभिव्यक्ति A और B के मूल्यांकन को अधिव्यापन करेगा न केवल एक दूसरे के साथ बल्कि उन संगणनाओं के साथ जो [[ दोष | कॉन्स]] कॉल के परिणाम का उपयोग करते हैं, जब तक कि संचालन नहीं किया जाता है जिसके लिए A या B के मूल्य के बारे में सही जानकारी की आवश्यकता होती है। .


== यह भी देखें ==
== यह भी देखें ==

Revision as of 19:22, 2 June 2023

मल्टीलिस्प
ParadigmsMulti-paradigm: functional, imperative, concurrent, meta
परिवारLisp
द्वारा डिज़ाइन किया गयाRobert H. Halstead Jr.
DeveloperMassachusetts Institute of Technology (MIT
पहली प्रस्तुति1980; 44 years ago (1980)
टाइपिंग अनुशासनDynamic, latent, strong
स्कोपLexical
कार्यान्वयन भाषाInterlisp
प्लेटफॉर्मConcert multiprocessor
लाइसेंसProprietary
Influenced by
Lisp, Scheme
Influenced
Gambit, Interlisp-VAX

मल्टीलिस्प एक कार्यात्मक प्रोग्रामिंग प्रोग्रामिंग भाषा है, भाषा लिस्प (प्रोग्रामिंग भाषा) की एक बोली (कंप्यूटिंग) है और इसकी बोली योजना (प्रोग्रामिंग भाषा), समानांतर कंप्यूटिंग निष्पादन और साझा स्मृति के निर्माण के साथ विस्तारित है। इन विस्तार में दुष्प्रभाव (कंप्यूटर विज्ञान) सम्मिलित है, जो मल्टीलिस्प गैर नियतात्मक प्रोग्रामिंग प्रदान करता है। इसके समानांतर-प्रोग्रामिंग विस्तार के साथ मल्टीलिस्प में कुछ असामान्य कचरा संग्रह (कंप्यूटर विज्ञान) और कार्य अनुसूची एल्गोरिदम भी थे। योजना की तरह मल्टीलिस्प को प्रतीकात्मक कंप्यूटिंग के लिए अनुकूलित किया गया था। कुछ समानांतर प्रोग्रामिंग भाषाओं के विपरीत मल्टीलिस्प ने दुष्प्रभाव पैदा करने और समानांतरता को स्पष्ट रूप से प्रस्तुत करने के लिए सम्मिलित किया।

इसे 1980 के दशक के प्रारंभ में रॉबर्ट एच. हैल्स्टेड जूनियर द्वारा 32-प्रक्रमक सहवादन बहु प्रक्रमक पर उपयोग के लिए बनाया गया था, जिसे तब मैसाचुसेट्स इंस्टीट्यूट ऑफ टेक्नोलॉजी (MIT) में विकसित किया जा रहा था और इंटरलिस्प में लागू किया गया था। इसने योजना भाषिका गैम्बिट (योजना कार्यान्वयन) [1] और इंटरलिस्प-वैक्स(VAX) के विकास को प्रभावित किया।

पीसीकॉल और फ्यूचर

मल्टीलिस्प PCALL मैक्रो (कंप्यूटर विज्ञान) के साथ समानता प्राप्त करता है, जहाँ

(PCALL Fun A B C ...)

के बराबर है

(Fun A B C ...)

सिवाय इसके कि पैरामीटर (कंप्यूटर प्रोग्रामिंग) A, B, C, आदि को स्पष्ट रूप से समानांतर में मूल्यांकन करने की अनुमति है, यह मूल्यांकन के सामान्य क्रम को रोकता है जो अनुक्रमिक और बाएं से दाएं होता है। यह फ़्यूचर (प्रोग्रामिंग) नामक समानांतर प्रोग्रामिंग निर्माण का भी उपयोग करता है, जो अनुद्योगी मूल्यांकन के साथ मिलकर फोर्किंग जैसा दिखता है। इस निर्माण का उपयोग करते हुए, एक अभिव्यक्ति जैसे

(cons (FUTURE A) (FUTURE B))

लिखा जा सकता है, जो अभिव्यक्ति A और B के मूल्यांकन को अधिव्यापन करेगा न केवल एक दूसरे के साथ बल्कि उन संगणनाओं के साथ जो कॉन्स कॉल के परिणाम का उपयोग करते हैं, जब तक कि संचालन नहीं किया जाता है जिसके लिए A या B के मूल्य के बारे में सही जानकारी की आवश्यकता होती है। .

यह भी देखें

संदर्भ

  1. WikiSysop; Mikaelm; Bjlucier; Thedens, Dan (2019-02-06). "पहला क़दम". Retrieved 2019-04-21.
  • Halstead, Robert H. Jr. (October 1985). "MultiLisp: A Language for Concurrent Symbolic Computation". ACM Transactions on Programming Languages and Systems. 7 (4): 501–538. doi:10.1145/4472.4478. S2CID 1285424.
  • Koomen, Johannes A. G. M. (1980). The Interlisp Virtual Machine: A Study of its Design and its Implementation as Multilisp (MSc). University of British Columbia.
  • Bates, Raymond L.; Dyer, David; Koomen, Johannes A. G. M. (15–18 August 1982). "Implementation of Interlisp on the VAX". LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming. ACM symposium on LISP and functional programming. Pittsburgh, Pennsylvania, United States. pp. 81–87.
  • Halstead, Robert H. Jr. (1984). The MultiLisp Language: Lisp for a Multiprocessor. Conference on 5th Generation Computers. Tokyo, Japan.
  • Martins, W.S. "Parallel Implementations of Functional Languages". Proceedings of the 4th Int. Workshop on the Parallel Implementation of Functional Languages: 92.
  • Skillicorn, David B.; Talia, Domenico (June 1998). "Models and languages for parallel computation". ACM Computing Surveys. 30 (2): 123–169. doi:10.1145/280277.280278. S2CID 9308854.