Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

MDL ( язык разработки моделей , [1] или в просторечии также именуемый « Больше типов данных, чем Lisp [2] : или MIT Design Language [ необходима цитата ] ) - это язык программирования , потомок языка Lisp . Его первоначальная цель заключалась в обеспечении языковой поддержки высокого уровня для группы динамического моделирования в проекте MAC Массачусетского технологического института (MIT) . [3] Первоначально он был разработан в 1971 году на компьютере PDP-10 в операционной системе с разделением времени. названа несовместимой системой разделения времени (ITS). Позже он работал на TENEX , TOPS-20 , [4] [5] BSD , [2] : 6 и AEGIS . [6]

Первоначальная команда разработчиков состояла из Джеральда Сассмана и Карла Хьюитта из лаборатории искусственного интеллекта, а также Криса Рива, Брюса Дэниелса и Дэвида Кресси из группы динамического моделирования. Позже Стю Гэлли, также из Группы динамического моделирования, написал документацию по MDL. [ необходима цитата ]

Изначально MDL назывался Muddle . [4] : 2 Этот стиль самоуничижительного юмора не был широко понят или оценен за пределами Project MAC и нескольких других ранних цитаделей информационных технологий. Таким образом, название было изменено на MDL. [ необходима цитата ]

MDL предоставляет несколько улучшений классического Лиспа. Он поддерживает несколько встроенных типов данных, включая списки, строки и массивы, а также типы данных, определяемые пользователем. Он предлагает многопоточную оценку выражений и сопрограммы . Переменные могут нести как локальное значение в пределах области, так и глобальное значение для передачи данных между областями. Расширенные встроенные функции поддерживают интерактивную отладку программ MDL, инкрементную разработку и реконструкцию исходных программ из объектных программ.

Хотя MDL устарел, некоторые из его функций были включены в более поздние версии Lisp. Джеральд Суссман продолжил разработку языка Scheme в сотрудничестве с Гаем Стилом , который позже написал спецификации для Common Lisp и Java . Карл Хьюитт уже опубликовал идею Language Planner до начала проекта MDL, но его последующие размышления о Planner отражали уроки, извлеченные из построения MDL. Концепции планировщика повлияли на такие языки, как Prolog и Smalltalk . Smalltalk и Simula , в свою очередь, повлияли на дальнейшую работу Хьюитта над моделью актера .

Но наибольшее влияние MDL оказал на программный жанр интерактивной фантастики (ИФ). Игра IF под названием Zork , иногда называемая Dungeon, была сначала написана на MDL. [7] Позже Рив, Дэниэлс, Гэлли и другие члены Dynamic Modeling основали Infocom , компанию, которая произвела множество ранних коммерческих работ интерактивной фантастики.

Пример кода [ править ]

Это образец PDP-10 MDL: [8] [9] [10]

 < ОПРЕДЕЛИТЬ  EXIT- К ( ВЫХОДАМ  RMS ) # DECL (( ВЫХОДЫ ) ВЫХОД ( RMS ) < UVECTOR [ ОСТАЛЬНОЙ  НОМЕР ] > ) < MAPF  <>  < ФУНКЦИЯ ( Е ) # DECL (( Е ) < ИЛИ  НАПРАВЛЕНИЕ  НОМЕР  CEXIT  NEXIT  дверь> ) < КОНД ( <ТИП ? . НАПРАВЛЕНИЕ E  > ) ( < И  < TYPE ? . E  НОМЕР>  < MEMQ  . E  . RMS >>  < MAPLEAVE  T> ) ( < И  < ТИП ? . Е  CEXIT>  < MEMQ  < 2  . Е > . СКО >>  < MAPLEAVE  Т> ) ( < И  < ТИП ? . Е  ДВЕРИ>  < ИЛИ  < MEMQ  < DROOM1  . Е > . СКО >  < MEMQ  < DROOM2  . Е > . СКО >>>  < MAPLEAVE  T> ) >> . ВЫХОДЫ >>

См. Также [ править ]

  • Зорк
  • Схема (язык программирования)
  • Планировщик (язык программирования)

Ссылки [ править ]

  1. ^ Supnik, Боб (25 октября 2006). «ПОЛУЧИТЕ ЛАМПУ, Боб Супник, интервью» (Интервью). Беседовал Джейсон Скотт. 15:00.
  2. ^ a b Licklider, JCR (январь 1988 г.). «Графическое программирование и мониторинг RADC-TR-88-7» (PDF) . Римский центр развития воздуха . Проверено 18 мая 2019 .
  3. ^ Дорнбрук, Майкл; Бланк, Марк (1980). "Учебник по программированию MDL MIT-LCS-TR-292" (PDF) . Массачусетский технологический институт, лаборатория компьютерных наук . Проверено 18 мая 2019 .
  4. ^ a b Галлей, Стю В .; Пфистер, Грег (1979). «Язык программирования MDL» (PDF) . Массачусетский технологический институт, лаборатория компьютерных наук . Проверено 18 декабря 2018 .
  5. ^ Lebling, П. Дэвид (май 1980). "Среда программирования MDL" (PDF) . Массачусетский технологический институт, лаборатория компьютерных наук . Проверено 18 декабря 2018 .
  6. ^ Лим, Пох Чуан (1982). «Независимый от устройства менеджер графики для MDL» (PDF) . Массачусетский Институт Технологий. п. 69 . Проверено 18 мая 2019 .
  7. ^ Дайер, Ричард (1984-05-06). «Мастера игры» . The Boston Globe . Архивировано из оригинала на 1997-06-07.
  8. ^ "Zork-mdl.zip" .
  9. ^ Супник, Боб (2018-06-04). «Комплекты программного обеспечения» . Компьютерное моделирование и история (SimH) . Bitsavers.org . Проверено 18 декабря 2018 .
  10. ^ Супник, Боб (2007-09-02). «Комплекты программного обеспечения» . Компьютерное моделирование и история (SimH) . Форум PDP-11 . Проверено 18 декабря 2018 .

Внешние ссылки [ править ]