लिम्बो (प्रोग्रामिंग लैंग्वेज)

From Vigyanwiki
Revision as of 01:02, 27 February 2023 by alpha>MansiKanyal (TEXT)
Limbo
ParadigmConcurrent
द्वारा डिज़ाइन किया गयाSean Dorward, Phil Winterbottom, Rob Pike
DeveloperBell Labs / Vita Nuova Holdings
पहली प्रस्तुति1995; 29 years ago (1995)
टाइपिंग अनुशासनStrong
ओएसInferno
लाइसेंसGNU GPL v2, see NOTICE in limbo subfolder of the tarball
वेबसाइटwww.vitanuova.com/inferno/limbo.html
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 (प्रोग्रामिंग भाषा)-शैली की परिभाषाओं का उपयोग इस प्रकार करता है:

<वाक्यविन्यास प्रकाश लैंग = लिम्बो>

नाम: = मूल्य टाइप करें;
नाम 0, नाम 1: प्रकार = मान;
नाम 2, नाम 3: प्रकार;
नाम 2 = मूल्य;

</वाक्यविन्यास हाइलाइट>

हैलो वर्ल्ड

<वाक्यविन्यास प्रकाश लैंग = लिम्बो>

कमांड लागू करें;

sys.m सम्मिलित करें;
    sys: sys;

ड्रॉ.एम सम्मिलित करें;
श.एम सम्मिलित करें;

init (शून्य: रेफरी ड्रा-> संदर्भ, शून्य: स्ट्रिंग की सूची)
{
    sys = लोड Sys Sys-> PATH;
    sys->प्रिंट (हैलो वर्ल्ड!\n);
}

</वाक्यविन्यास हाइलाइट>

किताबें

इन्फर्नो संचालन प्रणाली और लिम्बो प्रोग्रामिंग भाषा के तीसरे संस्करण का वर्णन फिलिप स्टेनली-मारबेल द्वारा पाठ्यपुस्तक इन्फर्नो प्रोग्रामिंग विद लिम्बो ISBN 0-470-84352-7 (चिचेस्टर: जॉन विली एंड संस, 2003) में किया गया है। एक अन्य पाठ्यपुस्तक द इन्फर्नो प्रोग्रामिंग बुक: एन इंट्रोडक्शन टू प्रोग्रामिंग फॉर द इन्फर्नो डिस्ट्रिब्यूटेड सिस्टम, मार्टिन एटकिंस, चार्ल्स फोर्सिथ, रॉब पाइक और हॉवर्ड ट्रिकी द्वारा प्रारम्भ की गई थी, लेकिन कभी जारी नहीं हुई।

यह भी देखें

संदर्भ

  1. "Inferno Application Programming". vitanuova. vitanuova. Retrieved January 26, 2021.
  2. "Dis Virtual Machine Specification". Vita Nuova. 2000. Retrieved 2 February 2015.
  3. Lorenz Huelsbergen and Phil Winterbottom. "Very Concurrent Mark and Sweep Garbage Collection without Fine-Grain Synchronization" (PDF). {{cite journal}}: Cite journal requires |journal= (help)


बाहरी संबंध