Limbo (programovací jazyk) - Limbo (programming language)
Paradigma | Souběžně |
---|---|
Navrhl | Sean Dorward, Phil Winterbottom, Rob Pike |
Vývojář | Bell Labs / Vita Nuova Holdings |
Poprvé se objevil | 1995 |
Psací disciplína | Silný |
OS | Peklo |
Licence | Otevřený zdroj |
webová stránka | www |
Hlavní implementace | |
Dis virtuální stroj | |
Ovlivněno | |
C , Pascal , CSP , Alef , Newsqueak | |
Ovlivněno | |
Stackless Python , Go , Rust |
Limbo je programovací jazyk pro psaní distribuovaných systémů a je jazyk používaný k psaní aplikací pro operační systém Inferno . Byl navržen v Bell Labs od Sean Dorward , Phil Winterbottom a Rob Pike .
Kompilátor Limbo generuje objektový kód nezávislý na architektuře, který je pak interpretován virtuálním počítačem Dis nebo zkompilován těsně před spuštěním, aby se zlepšil výkon. Proto jsou všechny aplikace Limbo zcela přenosné na všech platformách Inferno.
Přístup Limbo k souběžnosti byl inspirován Hoare ‚s komunikujících sekvenčních procesů (CSP), jak byly provedeny ve znění z roku dříve Pike Newsqueak jazyka a Winterbottom je Alef .
Jazykové funkce
Limbo podporuje následující funkce:
- modulární programování
- souběžné programování
- silná kontrola typu při kompilaci a době běhu
- meziprocesová komunikace přes zadané kanály
- automatický sběr odpadu
- jednoduché abstraktní datové typy
Virtuální stroj
Virtuální stroj Dis, který spouští Limbo kód, je virtuální počítač podobný CISC s pokyny pro aritmetiku, tok řízení , pohyb dat , vytváření procesů , synchronizaci a komunikaci mezi procesy, načítání modulů kódu a podporu pro vyšší typy dat: řetězce, pole, seznamy a komunikační kanály. Využívá hybrid počítání referencí a sběr odpadu v reálném čase pro cyklická data.
Aspekty designu Dis byly inspirovány mikroprocesorem AT&T Hobbit , který byl použit v původním systému BeBox .
Příklady
Limbo používá definice stylu Ada jako v:
name := type value;
name0,name1 : type = value;
name2,name3 : type;
name2 = value;
Ahoj světe
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");
}
Knihy
3. vydání operačního systému Inferno a programovacího jazyka Limbo jsou popsány v učebnici Inferno Programming with Limbo ISBN 0-470-84352-7 (Chichester: John Wiley & Sons, 2003), autor Phillip Stanley-Marbell . Další učebnice Inferno Programming Book: An Introduction to Programming for the Inferno Distributed System , autorů Martin Atkins, Charles Forsyth, Rob Pike a Howard Trickey, byla zahájena, ale nikdy nebyla vydána.
Viz také
- Inferno operační systém
- Alef , předchůdce Limba
- Plán 9 od Bell Labs
- Go (programovací jazyk) , podobný jazyk od Google
- AT&T Hobbit , architektura procesoru, která inspirovala Dis VM
Reference
externí odkazy
- Stránka Vita Nuova v limbu
- Sestup do limba od Briana Kernighana
- Limbus Programming Language by Dennis M. Ritchie a dodatku ze strany Vita Nuova.
- Inferno Programming with Limbo od Phillipa Stanley-Marbella
- Vláknové programování ve stylu Bell Labs CSP
- Dis zdrojový kód
- Návrh virtuálního stroje Inferno , Vita nuova .
- „Dis VM design“, Inferno (4. vydání), Cat V .
- „Specifikace Dis VM“, Inferno (4. vydání), Cat V .