Limbo (programovací jazyk) - Limbo (programming language)
![]() | tento článek potřebuje další citace pro ověření.Říjen 2013) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
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í, důležitý implementace | |
Dis virtuální stroj | |
Ovlivněno | |
C, Pascal, CSP, Alef, Newsqueak | |
Ovlivněno | |
Stackless Python, Jít, Rez |
Předpeklí je programovací jazyk pro psaní distribuovaných systémů a je to jazyk používaný k psaní aplikace pro Operační systém Inferno. Byl navržen na Bell Labs podle Sean Dorward, Phil Winterbottom, a Rob Pike.
Limbo překladač generuje architektura -nezávislý kód objektu který je pak interpretován Dis virtuální stroj nebo zkompilovaný těsně před spuštěním za účelem zlepšení výkonu. Proto jsou všechny aplikace Limbo zcela přenosné na všech platformách Inferno.
Limbův přístup k souběžnosti byl inspirován Hoare je komunikující sekvenční procesy (CSP), ve znění zavedeném a pozměněném dříve v Pike Newsqueak jazyk a Winterbottom 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řepsán kanály
- automatický odvoz odpadu
- jednoduchý abstraktní datové typy
Virtuální stroj
Virtuální stroj Dis, který provádí kód Limbo, je virtuální počítač podobný CISC s pokyny pro aritmetiku, regulační tok, pohyb dat, proces vytváření, synchronizace a komunikace mezi procesy, načítání modulů kódu a podpora datových typů vyšší úrovně: řetězce, pole, seznamy a komunikační kanály.[1] Využívá hybrid počítání referencí a a reálný čas Popelář pro cyklická data.[2]
Aspekty designu Dis byly inspirovány AT&T Hobit mikroprocesor, jak se používá v originálu BeBox.
Příklady
Limbo používá Ada definice stylu jako v:
název := typ hodnota; jméno0,jméno1 : typ = hodnota; jméno2,jméno3 : typ; jméno2 = hodnota;
Ahoj světe
nářadí Příkaz; zahrnout "sys.m"; sys: Sys; zahrnout "draw.m"; zahrnout "sh.m"; inic(nula: ref Kreslit->Kontext, nula: seznam z tětiva) { sys = zatížení Sys Sys->CESTA; sys->tisk("Ahoj světe! n"); }
Knihy
Třetí vydání operačního systému Inferno a programovacího jazyka Limbo jsou popsány v učebnici Programování pekla s předpeklí 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 Systemautor: Martin Atkins, Charles Forsyth, Rob Pike a Howard Trickey, byl spuštěn, ale nikdy nebyl propuštěn.
Viz také
- The Peklo operační systém
- Alef, předchůdce společnosti Limbo
- Plán 9 od Bell Labs
- Go (programovací jazyk), podobný jazyk od Googlu
- AT&T Hobit, architektura procesoru, která inspirovala Dis VM
Reference
- ^ "Dis Virtual Machine Specification". Vita Nuova. 2000. Citováno 2. února 2015.
- ^ Lorenz Huelsbergen a Phil Winterbottom. „Velmi souběžný sběr značek a zametání odpadu bez synchronizace jemného zrna“ (PDF). Citovat deník vyžaduje
| deník =
(Pomoc)
externí odkazy
- Stránka Vita Nuova v limbu
- Sestup do limbu podle Brian Kernighan
- Limbo Programovací jazyk podle Dennis M. Ritchie a Dodatek autorka Vita Nuova.
- Programování pekla s předpeklí podle Phillip Stanley-Marbell
- 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", Peklo (4. vydání), Cat V.
- "Specifikace Dis VM", Peklo (4. vydání), Cat V.