मल्टीलिस्प

From Vigyanwiki
मल्टीलिस्प
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.