]]> ]]>
Править | Обсудить | История

Limbo

Дата создания:
1995
Создан под влиянием:
Повлиял на:
Парадигма:
Типизация:
Принятые расширения файлов:
.b
Реализации и версии (свернуть все | развернуть все):
Язык программирования

Limbo — язык программирования, предназначенный для написания распределенных систем. Также используется для создания приложений под ОС Inferno. Он был разработан в Bell Labs Шоном Доуардом (Sean Dorward), Филом Винтерботтомом (Phil Winterbottom) и Робом Пайком (Rob Pike).

Компилятор Limbo генерирует архитектурно-независимый объектный код, который затем интерпретируется виртуальной машиной Dis или компилируется перед запуском для улучшения производительности. Таким образом, все программы на Limbo с легкостью переносятся на любую платформу Inferno.

В Limbo есть поддержка:

  • модульного программирования;
  • параллельного программирования;
  • строгой проверки типов во время компиляции и во время выполнения программы;
  • общение между процессами через типизированные каналы;
  • автоматическая сборка мусора;
  • простые абстрактные типы данных.

Limbo предоставляет расширенный набор примитивных типов данных:

  • byte (8 бит, беззнаковый)
  • int (32 бит, знаковый)
  • big (64 бит, знаковый)
  • real (64 бит, с плавающей точкой)
  • списки
  • массивы
  • строки
  • кортежи (упорядоченные коллекции типов)
  • каналы (для сообщения между процессами)
  • adt (структура, аналогичная struct в C)
  • pick (discriminated union type)
  • модули.

Графический отладчик Limbo в среде операционной системы Inferno
Графический отладчик Limbo в среде операционной системы Inferno

Примеры:

Hello, World!:

Пример для версий Inferno Limbo 20100115
implement Hello;
include "sys.m";
	sys: Sys;
include "draw.m";

Hello: module {
	init: fn(nil: ref Draw->Context, argv: list of string);
};

init(nil: ref Draw->Context, argv: list of string)
{
	sys = load Sys Sys->PATH;
	sys->print("Hello, World!\n");
}

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам