Limbo – język programowania przeznaczony do tworzenia systemów rozproszonych oraz programów dla systemu operacyjnego Inferno. Limbo został stworzony w Bell Labs przez Dennisa Ritchie, Seana Dorwarda, Phila Winterbottoma i Roba Pike’a.

Kompilator Limbo generuje kod pośredni, niezależny od danej architektury procesora, który następnie jest wykonywany przez wirtualną maszynę o nazwie Dis lub też kompilowany w kod maszyny docelowej tuż przed jego wykonaniem dla zwiększenia wydajności. Tak więc wszystkie programy dla Limbo są przenośne pomiędzy dowolnymi platformami Inferno. Sposób rozwiązania problemu urównoleglenia operacji zastosowany w Limbo czerpie inspirację z Communicating Sequential Processes (CSP) Hoare’a.

Cechy języka Język oprogramowania Limbo wykazuje się następującymi cechami: modularność programowanie współbieżne twarde sprawdzanie zgodności typów w trakcie kompilacji komunikacja międzyprocesowa za pośrednictwem kanałów określonego rodzaju automatyczne zwalnianie nieużywanych zasobów proste abstrakcyjne typy danych

Przykłady W składni Limbo można dostrzec zarówno wpływy języka C, jak i Pascala oraz jego następców.

name := type value; name0,name1 : type = value; name2,name3 : type; name2 = value; for (expr1 ; expr2 ; expr3) statement.

„Witaj, Świecie!” 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");

Przypisy

Literatura Trzecie wydanie systemu operacyjnego Inferno oraz język oprogramowania Limbo są opisane w podręczniku Inferno Programming with Limbo (Chichester: John Wiley & Sons, 2003), by Phillip Stanley-Marbell. Inny podręcznik – „The Inferno Programming Book: An Introduction to Programming for the Inferno Distributed System”, autorstwa Martina Atkinsa, Charlesa Forsytha, Roba Pike’a i Howarda Trickeya, nie został nigdy dokończony.

Linki zewnętrzne O języku Limbo The Limbo Language

Kategoria:Języki programowania