Top 1K Features Creators Events Podcasts Books Extensions Interviews Blog Explorer CSV

Limbo

< >

Limbo is an open source programming language created in 1995 by Rob Pike.

#615on PLDB 29Years Old 529Repos
Homepage · REPL · Wikipedia · Docs

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. Read more on Wikipedia...


Example from the web:
Lock: module { PATH: con "/dis/lib/lock.dis"; Semaphore: adt { c: chan of int; obtain: fn(nil: self ref Semaphore); release: fn(nil: self ref Semaphore); new: fn(): ref Semaphore; }; init: fn(); };
Example from Riju:
implement Cmd; include "sys.m"; include "draw.m"; Cmd : module { init : fn (ctxt : ref Draw->Context, args : list of string); }; init(nil : ref Draw->Context, nil : list of string) { sys := load Sys Sys->PATH; sys->print("Hello, world!\n"); }
Example from hello-world:
implement Hello; include "sys.m"; sys: Sys; include "draw.m"; Hello: module { init: fn(ctxt: ref Draw->Context, argv: list of string); }; init(ctxt: ref Draw->Context, argv: list of string) { sys = load Sys Sys->PATH; sys->print("Hello World\n"); }
Hello World in Limbo. Limbo is the programming language of the Inferno OS (from Lucent Bell Labs). implement Cmd; include "sys.m"; include "draw.m"; Cmd : module { init : fn (ctxt : ref Draw->Context, args : list of string); }; init(nil : ref Draw->Context, nil : list of string) { sys := load Sys Sys->PATH; sys->print("Hello World\n"); }
Example from Wikipedia:
implement Command; include "sys.m"; sys: Sys; init(Context, nil: list of string) { sys = load Sys Sys->PATH; print("Hello World!\n"); }

Language features

Feature Supported Example Token
Print() Debugging ✓ sys->print
Semantic Indentation X
View source
- Build the next great programming language · Add · About · Search · Keywords · Livestreams · Labs · Resources · Acknowledgements · Part of the World Wide Scroll