मल्टीलिस्प
Paradigms | Multi-paradigm: functional, imperative, concurrent, meta |
---|---|
परिवार | Lisp |
द्वारा डिज़ाइन किया गया | Robert H. Halstead Jr. |
Developer | Massachusetts Institute of Technology (MIT |
पहली प्रस्तुति | 1980 |
टाइपिंग अनुशासन | Dynamic, latent, strong |
स्कोप | Lexical |
कार्यान्वयन भाषा | Interlisp |
प्लेटफॉर्म | Concert multiprocessor |
लाइसेंस | Proprietary |
Influenced by | |
Lisp, Scheme | |
Influenced | |
Gambit, Interlisp-VAX |
मल्टीलिस्प एक कार्यात्मक प्रोग्रामिंग भाषा है, भाषा लिस्प की एक बोली (कंप्यूटिंग) है और इसकी बोली योजना (प्रोग्रामिंग भाषा), समानांतर कंप्यूटिंग निष्पादन और shared मैमोरी के निर्माण के साथ विस्तारित है। इन विस्तार में दुष्प्रभाव (कंप्यूटर विज्ञान) सम्मिलित है, जो मल्टीलिस्प गैर नियतात्मक प्रोग्रामिंग प्रदान करता है। इसके समानांतर-प्रोग्रामिंग विस्तार के साथ मल्टीलिस्प में कुछ असामान्य garbage collection संग्रह (कंप्यूटर विज्ञान) और कार्य अनुसूची एल्गोरिदम भी थे। योजना की तरह मल्टीलिस्प को प्रतीकात्मक कंप्यूटिंग के लिए अनुकूलित किया गया था। कुछ समानांतर प्रोग्रामिंग भाषाओं के विपरीत मल्टीलिस्प ने साइड इफेक्ट पैदा करने और समानांतरता को स्पष्ट रूप से प्रस्तुत करने के लिए सम्मिलित किया।
इसे 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 के मूल्य के बारे में सही जानकारी की आवश्यकता होती है। .
यह भी देखें
संदर्भ
- ↑ 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.