Limbo (lenguaje de programación)
Limbo es un lenguaje de programación para escribir sistemas distribuidos. Además es el lenguaje usado para escribir aplicaciones para el sistema operativo Inferno. Fue diseñado en los Laboratorios Bell por Sean Dorward, Phil Winterbottom y Rob Pike.
Limbo | ||
---|---|---|
Desarrollador(es) | ||
Bell Labs/Vita Nuova http://www.vitanuova.com/inferno/limbo.html | ||
Información general | ||
Paradigma | Concurrente | |
Apareció en | 1995 | |
Diseñado por | Sean Dorward, Phil Winterbottom, and Rob Pike | |
Sistema de tipos | Fuertemente tipado | |
Implementaciones | Dis | |
Influido por | C, CSP, Alef | |
Ha influido a | Stackless Python | |
Sistema operativo | Inferno | |
Licencia | Open Source | |
El compilador de Limbo genera código objeto independiente de la plataforma que luego es interpretado por la máquina virtual Dis o compilado antes de su ejecución para mejorar el rendimiento. Por ello, todas las aplicaciones hechas con Limbo son completamente portables en todas las plataformas soportadas por Inferno.
El enfoque de manejo de la concurrencia que tiene Limbo fue inspirada por el CSP de Hoare.
Características del lenguaje
editarLimbo tiene las siguientes características:
- Programación Modular
- Programación concurrente
- Chequeo de tipos estricto tanto en tiempo de compilación y ejecución
- Comunicación entre procesos sobre canales tipificados
- Recolección de basura automática
- Tipos de dato abstractos simples
Ejemplos
editarLimbo utiliza definiciones al estilo de Pascal como en:
name := type value; name0,name1 : type = value; name2,name3 : type; name2 = value; 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("¡Hola mundo!\n"); }
Libros
editarLa 3ª edición del sistema operativo Inferno y el lenguaje de programación Limbo están descritas en el libro Inferno Programming with Limbo ISBN 0-470-84352-7 (Chichester: John Wiley & Sons, 2003), por Phillip Stanley-Marbell. Otro libro de texto, "The Inferno Programming Book: An Introduction to Programming for the Inferno Distributed System", por Martin Atkins, Charles Forsyth, Rob Pike y Howard Trickey, fue empezado pero nunca se publicó.
Véase también
editar- El sistema operativo Inferno.
- Alef - El predecesor de Limbo.
- Plan 9 from Bell Labs