stringtranslate.com

Лимбо (язык программирования)

Limboязык программирования для написания распределенных систем и язык, используемый для написания приложений для операционной системы Inferno . Его разработали в Bell Labs Шон Дорвард, Фил Уинтерботтом и Роб Пайк . [1]

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

Подход Limbo к параллелизму был вдохновлен коммуникационными последовательными процессами (CSP) Хоара , реализованными и измененными в более раннем языке Пайка Newsqueak и Alef Уинтерботтома .

Особенности языка

Limbo поддерживает следующие функции:

Виртуальная машина

Виртуальная машина Dis, выполняющая код Limbo, представляет собой CISC-подобную виртуальную машину с инструкциями для арифметики, потока управления , перемещения данных, создания процессов , синхронизации и взаимодействия между процессами, загрузки модулей кода и поддержки типов данных более высокого уровня: строки, массивы, списки и каналы связи. [2] Он использует гибрид подсчета ссылок и сборщика мусора в реальном времени для циклических данных. [3]

Некоторые аспекты дизайна Dis были вдохновлены микропроцессором AT&T Hobbit , который использовался в оригинальном BeBox .

Примеры

Limbo использует определения в стиле Ada , например:

имя := значение типа ; имя0 , имя1 : тип = значение ; имя2 , имя3 : тип ; имя2 = значение ;           

Привет, мир

реализовать команду ; включить «sys.m» ; сис : Сис ;   включить "draw.m" ; включить «ш.м» ; init ( nil : ref Draw - > Context , nil : список строк ) { sys = load Sys Sys -> PATH ; sys -> print ( «Привет, мир! \n » ); }            

Книги

Третье издание операционной системы Inferno и языка программирования Limbo описаны в учебнике Филлипа Стэнли-Марбелла «Программирование Inferno с Limbo ISBN  0-470-84352-7» (Чичестер: John Wiley & Sons, 2003). Еще один учебник Мартина Аткинса, Чарльза Форсайта, Роба Пайка и Говарда Трики « The Inferno Programming Book: An Introduction to Programming for the Inferno Distributed System» был начат, но так и не выпущен.

Смотрите также

Рекомендации

  1. ^ «Прикладное программирование Inferno». витануова . витануова . Проверено 26 января 2021 г.
  2. ^ «Спецификация виртуальной машины Dis» . Вита Нуова. 2000 . Проверено 2 февраля 2015 г.
  3. ^ Лоренц Хюльсберген и Фил Уинтерботтомв (1998). «Очень параллельная маркировка и очистка мусора без точной синхронизации» (PDF) . 1998 Международный симпозиум по управлению памятью .

Внешние ссылки