Limbo,一种用于分散式系统程式语言,在Inferno作业系统中,用它来写作应用程式。它起源于贝尔实验室,由西恩·都华(Sean Dorward),菲尔·温特伯(Phil Winterbottom)与罗勃·派克(Rob Pike)设计研发。

Quick Facts 编程范型, 设计者 ...
Limbo
编程范型并发
设计者西恩·都华, 菲尔·温特伯, 罗勃·派克
实作者贝尔实验室 / Vita Nuova Holdings
发行时间1995年
型态系统强型别
操作系统Inferno
许可证Open source
网站http://www.vitanuova.com/inferno/limbo.html
主要实作产品
Dis虚拟机
启发语言
C, Pascal, CSP, Alef英语Alef (programming language), Newsqueak
影响语言
Stackless Python, Go, Rust
Close

它的并行计算模式,受到东尼·霍尔通信顺序进程所启发。

语言特征

Limbo支持如下特征:

虚拟机

执行Limbo代码的Dis虚拟机CISC类的VM,具有的指令包括:算数、控制流、数据移动、进程创建、同步和进程间通信、装载代码模块的指令,并支持高级数据类型:字符串、数组、列表和通信通道[1]。它为了循环数据而使用了混合的引用计数实时垃圾收集[2]

Dis的各方面设计受到用于最初的BeBox英语BeBoxAT&T Hobbit英语AT&T Hobbit微处理器的启发。

例子

Limbo使用Ada风格定义如下:

 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操作系统和Limbo编程语言描述于教科书“Inferno Programming with Limbo”ISBN 0-470-84352-7(Chichester: John Wiley & Sons, 2003),Phillip Stanley-Marbell

参见

引用

外部链接

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.