the limbo programming language, dennis m. ritchie

language notes

# hello_world.m
implement Command;
include "sys.m";
include "draw.m";
sys:    Sys;
Command: module
	init: fn (ctxt: ref Draw->Context, argv: list of string);
# The canonical "Hello world" program, enhanced
init(ctxt: ref Draw->Context, argv: list of string)
	sys = load Sys Sys->PATH;
	sys->print("hello world\n");
	for (; argv!=nil; argv = tl argv)
		sys->print("%s ", hd argv);


    adt alt array   big
    break   byte    case    chan
    con continue    cyclic  do
    else    exit    fn  for
    hd  if  implement   import
    include int len list
    load    module  nil of
    or  pick    real    ref
    return  self    spawn   string
    tagof   tl  to  type

development / debugging

gui programming

implementation details

dis vm spec