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

लिम्बो वितरित सिस्टम लिखने के लिए एक प्रोग्रामिंग भाषा है और इनफर्नो (ऑपरेटिंग सिस्टम) के लिए अनुप्रयोग प्रक्रिया सामग्री लिखने के लिए इस्तेमाल की जाने वाली भाषा है। इसे सीन डोरवर्ड, फिल विंटरबॉटम और रोब पाइक द्वारा बेल लैब्स में डिजाइन किया गया था। लिम्बो संकलक कंप्यूटर आर्किटेक्चर-इंडिपेंडेंट वस्तु कोड उत्पन्न करता है जिसे बाद में डिस वर्चुअल मशीन द्वारा व्याख्या किया जाता है या प्रदर्शन को बेहतर बनाने के लिए रनटाइम से ठीक पहले संकलित किया जाता है। इसलिए सभी लिम्बो एप्लिकेशन सभी इन्फर्नो प्लेटफार्मों पर पूरी तरह से पोर्टेबल हैं।

संगामिति के लिए लिम्बो का दृष्टिकोण C. A. R. होरे की संचार अनुक्रमिक प्रक्रियाओं (CSP) से प्रेरित था, जैसा कि पाइक की पिछली newsques भाषा और विंटरबॉटम की एलेफ़ (प्रोग्रामिंग भाषा) में कार्यान्वित और संशोधित किया गया था।

भाषा सुविधाएँ
लिम्बो निम्नलिखित सुविधाओं का समर्थन करता है:
 * प्रतिरूपकता (प्रोग्रामिंग)
 * समवर्ती प्रोग्रामिंग
 * संकलन और रन-टाइम पर मजबूत प्रकार की जाँच
 * टाइप किए गए चैनल (प्रोग्रामिंग) पर इंटरप्रोसेस संचार
 * स्वचालित कचरा संग्रहण (कंप्यूटर विज्ञान)
 * सरल सार डेटा प्रकार

वर्चुअल मशीन
डिस वर्चुअल मशीन जो लिम्बो कोड को निष्पादित करती है, एक सीआईएससी-जैसी वीएम है, जिसमें अंकगणित, नियंत्रण प्रवाह, डेटा गति, प्रक्रिया (कंप्यूटिंग) निर्माण, प्रक्रियाओं के बीच सिंक्रनाइज़ करना और संचार करना, कोड के मॉड्यूल लोड करना और उच्च-स्तरीय डेटा के लिए समर्थन शामिल है। -प्रकार: तार, सरणियाँ, सूचियाँ और संचार चैनल। यह चक्रीय डेटा के लिए एक हाइब्रिड संदर्भ गिनती और एक रीयल-टाइम कंप्यूटिंग|रीयल-टाइम गारबेज कलेक्शन (कंप्यूटर साइंस)|गारबेज-कलेक्टर का उपयोग करता है। डिस के डिजाइन के पहलू एटी एंड टी हॉबिट माइक्रोप्रोसेसर से प्रेरित थे, जैसा कि मूल बीबॉक्स में इस्तेमाल किया गया था।

उदाहरण
लिम्बो Ada (प्रोग्रामिंग भाषा)-शैली की परिभाषाओं का उपयोग इस प्रकार करता है:

<वाक्यविन्यास प्रकाश लैंग = लिम्बो> नाम: = मूल्य टाइप करें; नाम 0, नाम 1: प्रकार = मान; नाम 2, नाम 3: प्रकार; नाम 2 = मूल्य; 

हैलो वर्ल्ड
<वाक्यविन्यास प्रकाश लैंग = लिम्बो> कमांड लागू करें; sys.m शामिल करें; sys: sys; ड्रॉ.एम शामिल करें;

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

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

यह भी देखें

 * इन्फर्नो (ऑपरेटिंग सिस्टम) ऑपरेटिंग सिस्टम
 * एलेफ (प्रोग्रामिंग लैंग्वेज), लिंबो का पूर्ववर्ती
 * बेल लैब्स से प्लान 9
 * जाओ (प्रोग्रामिंग भाषा), Google से समान भाषा
 * एटी एंड टी हॉबिट, एक प्रोसेसर आर्किटेक्चर जिसने डिस वीएम को प्रेरित किया

बाहरी संबंध

 * 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