लिम्बो (प्रोग्रामिंग लैंग्वेज)
Paradigm | Concurrent |
---|---|
द्वारा डिज़ाइन किया गया | Sean Dorward, Phil Winterbottom, Rob Pike |
Developer | Bell Labs / Vita Nuova Holdings |
पहली प्रस्तुति | 1995 |
टाइपिंग अनुशासन | Strong |
ओएस | Inferno |
लाइसेंस | GNU GPL v2, see NOTICE in limbo subfolder of the tarball |
वेबसाइट | www |
Major implementations | |
Dis virtual machine | |
Influenced by | |
C, Pascal, CSP, Alef, Newsqueak | |
Influenced | |
Stackless Python, Go, Rust |
लिम्बो वितरित प्रणालियाँ लिखने के लिए एक प्रोग्रामिंग भाषा है और इनफर्नो (संचालन प्रणाली) के लिए अनुप्रयोग प्रक्रिया सामग्री लिखने के लिए प्रयोग की जाने वाली भाषा है। इसे सीन डोरवर्ड, फिल विंटरबॉटम और रोब पाइक द्वारा बेल लैब्स में अभिकल्पित किया गया था। [1]
लिम्बो संकलक कंप्यूटर शिल्प विद्या-स्वतंत्र वस्तु कूट उत्पन्न करता है जिसकी बाद में डिस आभासी यंत्र द्वारा व्याख्या की जाती है या प्रदर्शन को बेहतर बनाने के लिए कार्यावधि से ठीक पहले संकलित किया जाता है। इसलिए सभी लिम्बो एप्लिकेशन सभी इन्फर्नो मंच पर पूरी तरह से सुवाह्य हैं।
संगामिति के लिए लिम्बो का दृष्टिकोण C. A. R. होरे की संचार अनुक्रमिक प्रक्रियाओं (CSP) से प्रेरित था, जैसा कि पाइक की पिछली न्यूज़क्वीक भाषा और विंटरबॉटम की एलेफ़ (प्रोग्रामिंग भाषा) में कार्यान्वित और संशोधित किया गया था।
भाषा सुविधाएँ
लिम्बो निम्नलिखित सुविधाओं का समर्थन करता है:
- प्रतिरूपकता (प्रोग्रामिंग)
- समवर्ती प्रोग्रामिंग
- संकलन और कार्यावधि पर मजबूत प्रकार की जाँच
- टाइप किए गए चैनल (प्रोग्रामिंग) पर अंतःप्रक्रम संचार
- स्वचालित कचरा संग्रहण (कंप्यूटर विज्ञान)
- सरल सार डेटा प्रकार
आभासी यंत्र
डिस आभासी यंत्र जो लिम्बो कूट को निष्पादित करती है, एक CISC-जैसी VM है, जिसमें अंकगणित, नियंत्रण प्रवाह, डेटा गति, प्रक्रिया (कंप्यूटिंग) निर्माण, प्रक्रियाओं के बीच तुल्यकालन करना और संचार करना, कूट के अनुखंड भारण (कम्प्यूटर) करना और उच्च-स्तरीय डेटा-प्रकार: तार, सरणियाँ, सूचियाँ और संचार सरणि के लिए समर्थन सम्मिलित है।[2] यह चक्रीय आँकड़े के लिए एक संकर संदर्भ गिनती और एक समयोचित कचरा-संग्रहकर्ता का उपयोग करता है। [3]
डिस की अभिकल्पना के पहलू AT&T हॉबिट सूक्ष्मप्रक्रमक से प्रेरित थे, जैसा कि मूल Beबॉक्स में प्रयोग किया गया था।
उदाहरण
लिम्बो Ada (प्रोग्रामिंग भाषा)-शैली की परिभाषाओं का उपयोग इस प्रकार करता है:
name := type value;
name0,name1 : type = value;
name2,name3 : type;
name2 = value;
हैलो वर्ल्ड
implement Command;
include "sys.m";
sys: Sys;
include "draw.m";
include "sh.m";
init(nil: ref Draw->Context, nil: list of string)
{
sys = load Sys Sys->PATH;
sys->print("Hello World!\n");
}
किताबें
इन्फर्नो संचालन प्रणाली और लिम्बो प्रोग्रामिंग भाषा के तीसरे संस्करण का वर्णन फिलिप स्टेनली-मारबेल द्वारा पाठ्यपुस्तक इन्फर्नो प्रोग्रामिंग विद लिम्बो ISBN 0-470-84352-7 (चिचेस्टर: जॉन विली एंड संस, 2003) में किया गया है। एक अन्य पाठ्यपुस्तक द इन्फर्नो प्रोग्रामिंग बुक: एन इंट्रोडक्शन टू प्रोग्रामिंग फॉर द इन्फर्नो डिस्ट्रिब्यूटेड सिस्टम, मार्टिन एटकिंस, चार्ल्स फोर्सिथ, रॉब पाइक और हॉवर्ड ट्रिकी द्वारा प्रारम्भ की गई थी, लेकिन कभी जारी नहीं हुई।
यह भी देखें
- इन्फर्नो संचालन प्रणाली
- एलेफ (प्रोग्रामिंग लैंग्वेज), लिंबो का पूर्ववर्ती
- बेल लैब्स से योजना 9
- गो (प्रोग्रामिंग भाषा), गूगल से समान भाषा
- AT&T हॉबिट, एक संसाधक शिल्प विद्या जिसने डिस VM को प्रेरित किया
संदर्भ
- ↑ "Inferno Application Programming". vitanuova. vitanuova. Retrieved January 26, 2021.
- ↑ "Dis Virtual Machine Specification". Vita Nuova. 2000. Retrieved 2 February 2015.
- ↑ Lorenz Huelsbergen and Phil Winterbottom. "Very Concurrent Mark and Sweep Garbage Collection without Fine-Grain Synchronization" (PDF).
{{cite journal}}
: Cite journal requires|journal=
(help)
बाहरी संबंध
- Vita Nuova page on Limbo
- A Descent into Limbo by Brian Kernighan
- The Limbo Programming Language by Dennis M. Ritchie and Addendum by Vita Nuova.
- Inferno Programming with Limbo by Phillip Stanley-Marbell
- Threaded programming in the Bell Labs CSP style
- Dis source code
- The design of the Inferno virtual machine, Vita nuova.
- "Dis VM design", Inferno (4th ed.), Cat V.
- "Dis VM specification", Inferno (4th ed.), Cat V.