Limbo,一种用于分布式系统的编程语言,在Inferno操作系统中,用它来写作应用程序。它起源于贝尔实验室,由西恩·都华(Sean Dorward),菲尔·温特伯(Phil Winterbottom)与罗勃·派克(Rob Pike)设计研发。
语言特征
Limbo支持如下特征:
虚拟机
执行Limbo代码的Dis虚拟机是CISC类的VM,具有的指令包括:算数、控制流、数据移动、进程创建、同步和进程间通信、装载代码模块的指令,并支持高级数据类型:字符串、数组、列表和通信通道[1]。它为了循环数据而使用了混合的引用计数和实时垃圾收集[2]。
Dis的各方面设计受到用于最初的BeBox的AT&T Hobbit微处理器的启发。
例子
Limbo使用Ada风格定义如下:
name := type value;
name0,name1 : type = value;
name2,name3 : type;
name2 = value;
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操作系统和Limbo编程语言描述于教科书“Inferno Programming with Limbo”ISBN 0-470-84352-7(Chichester: John Wiley & Sons, 2003),Phillip Stanley-Marbell。