Limbo

Limbo — язык программирования в ОС Inferno от создателей Unix. «Если бы можно было все начать сначала, что бы мы написали вместо Си?».

Язык Limbo близок Си и Java, результатом компиляции является байт-код, что обеспечивает переносимость. Переносимость же лежит в основании самой ОС Inferno (наследницы Plan 9), доведенная до состояния приложения, запускаемого поверх хост-операционной системы: Plan 9, FreeBSD, Irix, Linux, Mac OS X, Solaris, Windows NT/2000/XP.

В качестве приятного нюанса — имеет встроенный механизм межпроцессорного взаимодействия: channels. Среди встроенных типов:

  • byte (8-bit unsigned),
  • int (32-bit signed),
  • big (64-bit signed),
  • real (64-bit floating point),
  • array (структура со слайсами),
  • string
  • adt (Си подобные структуры)
  • tuple (фиксированный список),
  • module
  • pick (вариант объединения, похожего на свой аналог в IDL) и т. д. см. подробнее на сайте.

Пример программы

Программа, выводящая «Hello, World!».

implement Command;
include "sys.m";
include "draw.m";
sys:    Sys;
Command: module
{
    init: fn (ctxt: ref Draw->Context, argv: list of string);
};
init(ctxt: ref Draw->Context, argv: list of string)
{
        sys = load Sys Sys->PATH;
        sys->print("hello world\n");
        for (; argv!=nil; argv = tl argv)
               sys->print("%s ", hd argv);
        sys->print("\n");
}
    

Следует отметить предубеждение против имен типа Стикс (протокол), Инферно, Лимбо и т. п. Разработчики прокомментировали это так: Божественная комедия Данте несет на себе отпечаток сарказма, пафоса, — это то, что и нам хотелось вложить в звучание названий для этих программных продуктов. (не цитата). Видимо, они могут себе теперь это позволить :)


 
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home