Limbo语言

维基百科,自由的百科全书
(重定向自Limbo
跳转到导航 跳转到搜索
Limbo
编程范型并发
设计者西恩·都华菲尔·温特伯罗勃·派克
实现者贝尔实验室 / Vita Nuova Holdings
发行时间1995年
当前版本
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    类型系统强类型
    操作系统Inferno
    许可证Open source
    网站http://www.vitanuova.com/inferno/limbo.html
    主要实现产品
    Dis虚拟机
    受影响于
    C, Pascal, CSP, Alef英语Alef (programming language), Newsqueak
    影响语言
    Stackless Python, Go, Rust

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

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

    语言特征[编辑]

    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

    参见[编辑]

    引用[编辑]

    1. ^ Dis Virtual Machine Specification. Vita Nuova. 2000 [2 February 2015]. (原始内容存档于2016-11-13). 
    2. ^ Lorenz Huelsbergen and Phil Winterbottom. Very Concurrent Mark and Sweep Garbage Collection without Fine-Grain Synchronization (PDF). [2020-05-05]. (原始内容存档 (PDF)于2019-03-03). 

    外部链接[编辑]