Limbo (programming language)

Limbo (programming language)

Infobox programming language
name = Limbo

paradigm = Concurrent
year = 1995
designer = Sean Dorward, Phil Winterbottom, Rob Pike
developer = Bell Labs / Vita Nuova Holdings
latest_release_version =
latest_release_date =
typing = Strong
implementations = Dis virtual machine
dialects =
influenced_by = C, Pascal, CSP, Alef, Newsqueak
influenced = Stackless Python
operating_system = Inferno
license = Open source
website = [http://www.vitanuova.com/inferno/limbo.html http://www.vitanuova.com/inferno/limbo.html]

Limbo is a programming language for writing distributed systems and is the language used to write applications for the Inferno operating system. It was designed at Bell Labs by Sean Dorward, Phil Winterbottom, and Rob Pike.

The Limbo compiler generates architecture-independent object code which is then interpreted by the Dis virtual machine or compiled just before runtime to improve performance. Therefore all Limbo applications are completely portable across all Inferno platforms.

Limbo's approach to concurrency was inspired by Hoare's Communicating Sequential Processes (CSP).

Language features

Limbo supports the following features:
* modular programming
* concurrent programming
* strong type checking at compile- and run-time
* interprocess communication over typed channels
* automatic garbage collection
* simple abstract data types.

Examples

Limbo uses Pascal style definitions (minus the VAR keyword) as in:

name := type value; name0,name1 : type = value; name2,name3 : type; name2 = value;

Hello world

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! "); }

Books

The 3rd edition of the Inferno operating system and Limbo programming language are described in the textbook "Inferno Programming with Limbo" ISBN 0470843527 (Chichester: John Wiley & Sons, 2003), by Phillip Stanley-Marbell. Another textbook "The Inferno Programming Book: An Introduction to Programming for the Inferno Distributed System", by Martin Atkins, Charles Forsyth, Rob Pike and Howard Trickey, was started, but never released.

See also

* The Inferno operating system.
* Alef - The predecessor of Limbo.
* Plan 9 from Bell Labs

External links

* [http://www.vitanuova.com/inferno/limbo.html Vita Nuova page on Limbo]
* [http://doc.cat-v.org/inferno/4th_edition/limbo_language/descent A Descent into Limbo] by Brian Kernighan
* [http://doc.cat-v.org/inferno/4th_edition/limbo_language/limbo The Limbo Programming Language] by Dennis M. Ritchie and [http://doc.cat-v.org/inferno/4th_edition/limbo_language/addendum Addendum] by Vita Nuova.
* [http://www.gemusehaken.org/ipwl/ Inferno Programming with Limbo] by Phillip Stanley-Marbell
* [http://swtch.com/~rsc/thread/ Threaded programming in the Bell Labs CSP style]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Alef (programming language) — The Alef programming language was designed by Phil Winterbottom of Bell Labs as part of the Plan 9 operating system.In a February 2000 slideshow, Rob Pike noted: …although Alef was a fruitful language, it proved too difficult to maintain a… …   Wikipedia

  • C (programming language) — C The C Programming Language[1] (aka K R ) is the seminal book on C …   Wikipedia

  • D (programming language) — For other programming languages named D, see D (disambiguation)#Computing. D programming language Paradigm(s) multi paradigm: imperative, object oriented, functional, meta Appeared in 1999 (1999) Designed by …   Wikipedia

  • Cyclone (programming language) — Cyclone Appeared in 2006 (2006) Designed by AT T Labs Stable release 1.0 (May 8, 2006; 5 years ago (2006 05 08)) Influenced by …   Wikipedia

  • Shakespeare Programming Language — Pour les articles homonymes, voir Shakespeare (homonymie). Le Shakespeare Programming Language ou SPL est un langage de programmation créé par Karl Hasselström et Jon Åslund en février 2001 dont le code source ressemble à une pièce de théâtre. Il …   Wikipédia en Français

  • Limbo (lenguaje de programación) — Limbo Desarrollador(es) Bell Labs/Vita Nuova Información general Paradigma Concurrente Apareció en 1995 …   Wikipedia Español

  • Limbo (disambiguation) — Limbo is an afterlife condition hypothesized by Medieval Roman Catholic theologians, but not made official Catholic doctrine.Limbo may also refer to:In music and dance: *Limbo (dance) * Limbo , a song by Bryan Ferry on his 1988 album Bête Noire * …   Wikipedia

  • Limbo (Programmiersprache) — Limbo ist eine höhere Programmiersprache, die im Betriebssystem Inferno zur Programmierung von Anwendungsprogrammen verwendet wird. Beim Design der Sprache waren bekannte Entwickler der erfolgreichen Programmiersprache C wie Dennis Ritchie und… …   Deutsch Wikipedia

  • Limbo — Семантика: Конкурентное программирование Появился в: 1995 Автор(ы): Шон Дорвард, Фил Винтерботтом, Роб Пайк Типизация данных: строгая Испытал влияние: C …   Википедия

  • Microsoft Visual Programming Language — или MVPL  язык визуального и поточного программирования, разработанный корпорацией Microsoft для своей Microsoft Robotics Developer Studio. Microsoft Visual Programming Language выделяется среди прочих языков программирования Microsoft,… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”