Limbo (lenguaje de programación)
Limbo es un lenguaje de programación para escribir sistemas distribuidos y es el lenguaje utilizado para escribir aplicaciones para el sistema operativo Inferno. Fue diseñado en Bell Labs por Sean Dorward, Phil Winterbottom y Rob Pike.
El compilador de Limbo genera un código de objeto independiente de la arquitectura que luego es interpretado por la máquina virtual Dis o compilado justo antes del tiempo de ejecución para mejorar el rendimiento. Por lo tanto, todas las aplicaciones de Limbo son completamente portátiles en todas las plataformas de Inferno.
El enfoque de simultaneidad de Limbo se inspiró en los procesos secuenciales de comunicación (CSP) de Hoare, implementados y modificados en el lenguaje Newsqueak anterior de Pike y en Alef de Winterbottom.
Características del idioma
Limbo admite las siguientes funciones:
- programación modular
- programación simultánea
- fuerte tipo de comprobación en compilación y tiempo de ejecución
- interproceso comunicación sobre canales tipo
- colección automática de basura
- simples tipos de datos abstractos
Máquina virtual
La máquina virtual Dis que ejecuta código Limbo es una VM similar a CISC, con instrucciones para aritmética, flujo de control, movimiento de datos, creación de procesos, sincronización y comunicación entre procesos, carga de módulos de código y compatibilidad con datos de nivel superior. -tipos: cadenas, matrices, listas y canales de comunicación. Utiliza un híbrido de conteo de referencias y un recolector de basura en tiempo real para datos cíclicos.
Los aspectos del diseño de Dis se inspiraron en el microprocesador Hobbit de AT&T, como se usa en el BeBox original.
Ejemplos
Limbo usa definiciones de estilo Ada como en:
Nombre := Tipo valor; nombre0,nombre1 : Tipo = valor; nombre2,nombre3 : Tipo; nombre2 = valor;Hola mundo
aplicación Comando; incluir "sys.m"; Sys: Sys; incluir "draw.m"; incluir "sh.m"; init()Nil: ref Dibujo-Contexto, Nil: lista de cuerda) {} Sys = carga Sys Sys-PATH; Sys-impresión()"¡Hola Mundo!n"); }Libros
La tercera edición del sistema operativo Inferno y el lenguaje de programación Limbo se describen en el libro de texto Inferno Programming with Limbo ISBN 0-470-84352-7 (Chichester: John Wiley & Sons, 2003), por Phillip Stanley-Marbell. Se inició otro libro de texto El libro de programación de Inferno: una introducción a la programación para el sistema distribuido de Inferno, de Martin Atkins, Charles Forsyth, Rob Pike y Howard Trickey, pero nunca se publicó.
Contenido relacionado
Multiplan
Calculadora recursiva de Kent
Telecomunicaciones en Estonia