Aviva Directory » Computers & Internet » Programming » Limbo

Designed at Bell Labs by Sean Dorward, Rob Pike, and Phil Winterbottom in 1995, Limbo is a concurrent, procedural programming language for writing distributed systems.

Currently maintained by Vita Nuova Holdings, Limbo is the language used to write applications for the Inferno operating system, a distributed system that also had its start at Bell Labs.

Inferno is available as open-source software under the GNU General Public License, the GNU Lesser General Public License, or the MIT License, as well as through a commercial license sold by Vita Nuova, which removes the need to publish variants.

Limbo syntax is similar to C, although it includes features intended to make it simpler, safer, more powerful, and better suited for the development of concurrent, distributed systems. The Limbo compiler generates architecture-independent object code, which is interpreted by the Dis virtual machine or compiled just before runtime, improving performance.

The Dis VM works similarly to a complex instruction set computer (CISC), with instructions for arithmetic, control flow, data motion, process creation, synchronization and communication between processes, loading modules of code, and supporting higher-level data types, arrays, strings, lists, and communication channels.

Thus, Limbo supports modular and concurrent programming, strong type-checking, either at compile-time or runtime, interprocess communication over typed channels, automatic garbage collection, and simple abstract data types. Limbo also offers an advanced selection of primitive datatypes.

Limbo was influenced by Alef, C, Newsqueak, and Pascal. In turn, it influenced the development of Go, Rust, and Stackless Python. At this time, Limbo is implemented only in the Dis virtual machine and is used only in the Inferno operating system.

The focus of this guide is on the Limbo programming language. The resources listed in this category should strongly related to Limbo, any tools designed to facilitate the use of the language, and any other informational sources related to Limbo.



Recommended Resources

Search for Limbo on Google or Bing