Limbo (プログラミング言語)

Limbo は分散システム構築用プログラミング言語であり、Infernoオペレーティングシステムでのアプリケーションソフトウェア作成に使う。ベル研究所の Sean Dorward、Phil Winterbottom、ロブ・パイクが設計した。
Limbo コンパイラはアーキテクチャ独立なオブジェクトコードを生成し、それを Dis 仮想機械でインタプリタ実行するか、性能を強化するために実行直前にコンパイルする。したがって、Limbo で書いたアプリケーションは全ての Inferno プラットフォーム上で動作可能である。
Limbo における並行性の方式は、アントニー・ホーアの Communicating Sequential Processes (CSP) に影響を受けている。
言語機能.
Limbo は次のような機能を備えている。
例.
Limbo は Pascal 風の定義（宣言）を採用している（VAR というキーワードはない）。
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!\n");
書籍.
Inferno の第3版と Limbo は Phillip Stanley-Marbell の教科書的著書 "Inferno Programming with Limbo" ISBN 0-470-84352-7 (Chichester: John Wiley & Sons, 2003) で解説されている。Martin Atkins、Charles Forsyth、ロブ・パイク、Howard Trickey による書籍 "The Inferno Programming Book: An Introduction to Programming for the Inferno Distributed System" も執筆が開始されたが、未だにリリースされていない。