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.