Jump to content

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

(Перенаправлено с языка программирования MDL )
леев
Парадигмы Мультипарадигма : функциональная , процедурная , рефлексивная , мета.
Семья Лисп
Разработано Джеральд Сассман , Карл Хьюитт , Крис Рив, Брюс Дэниэлс
Разработчик Проект MIT MAC
Впервые появился 1971 год ; 53 года назад ( 1971 )
Финальный выпуск
105 / 1980 ; 44 года назад ( 1980 )
Дисциплина набора текста Динамичный , сильный
Объем Статический, лексический
Язык реализации леев
Платформа PDP-10 , VAX , Apollo/домен
ТЫ ИТС , ТЕНЕКС , ТОПС-20 , БСД , AEGIS
Лицензия с открытым исходным кодом
Под влиянием
Лисп
Под влиянием
ZIL , Планировщик , Схема , Common Lisp , Java , Пролог , Smalltalk ; модель актера , интерактивная фантастика

MDL ( Язык разработки моделей , [ 1 ] или в просторечии также называется « Больше типов данных, чем Lisp». [ 2 ] : 3  или язык дизайна MIT [ нужна ссылка ] ) — язык программирования , потомок языка Лисп . Его первоначальная цель заключалась в обеспечении языковой поддержки высокого уровня для группы динамического моделирования в Массачусетского технологического института (MIT) рамках проекта MAC . [ 3 ] Он был разработан в 1971 году на ПДП-10 под управлением ИТС и позже работал на «Техснабэкспорте» , ТОПС-20 , [ 4 ] [ 5 ] БСД , [ 2 ] : 6  и ЭГИС . [ 6 ]

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

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

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

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

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

В 1980 году Марк Бланк и Джоэл Берез адаптировали язык MDL для создания подмножества под названием ZIL ( Язык реализации Zork ), который широко использовался Infocom для создания своих отмеченных наградами игр.

Пример кода

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

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

<DEFINE EXIT-TO (EXITS RMS)
        #DECL ((EXITS) EXIT (RMS) <UVECTOR [REST ROOM]>)
        <MAPF <>
              <FUNCTION (E)
                 #DECL ((E) <OR DIRECTION ROOM CEXIT NEXIT DOOR>)
                 <COND (<TYPE? .E DIRECTION>)
                       (<AND <TYPE? .E ROOM> <MEMQ .E .RMS>>
                        <MAPLEAVE T>)
                       (<AND <TYPE? .E CEXIT> <MEMQ <2 .E> .RMS>>
                        <MAPLEAVE T>)
                       (<AND <TYPE? .E DOOR>
                             <OR <MEMQ <DROOM1 .E> .RMS>
                                 <MEMQ <DROOM2 .E> .RMS>>>
                        <MAPLEAVE T>)>>
              .EXITS>>

См. также

[ редактировать ]
  1. ^ Супник, Боб (25 октября 2006 г.). «GET LAMP Интервью Боба Супника» (Интервью). Беседовал Джейсон Скотт. 15:00.
  2. ^ Jump up to: а б Ликлайдер, JCR (январь 1988 г.). «Графическое программирование и мониторинг RADC-TR-88-7» (PDF) . Римский центр развития авиации. Архивировано (PDF) из оригинала 3 мая 2019 г. Проверено 18 мая 2019 г.
  3. ^ Дорнбрук, Майкл; Бланк, Марк (1980). «Букварь по программированию MDL MIT-LCS-TR-292» (PDF) . Массачусетский технологический институт, лаборатория компьютерных наук . Проверено 18 мая 2019 г.
  4. ^ Jump up to: а б Галли, Стю В.; Пфистер, Грег (1979). «Язык программирования MDL» (PDF) . Массачусетский технологический институт, лаборатория компьютерных наук . Проверено 18 декабря 2018 г. ( Транскрипция Markdown/HTML )
  5. ^ Леблинг, П. Дэвид (май 1980 г.). «Среда программирования MDL» (PDF) . Массачусетский технологический институт, лаборатория компьютерных наук . Проверено 18 декабря 2018 г.
  6. ^ Лим, По Чуан (1982). «Устройственно-независимый графический менеджер для MDL» (PDF) . Массачусетский технологический институт. п. 69 . Проверено 18 мая 2019 г.
  7. ^ Дайер, Ричард (6 мая 1984 г.). «Мастера игры» . Бостон Глобус . Архивировано из оригинала 7 июня 1997 г.
  8. ^ "Zork-mdl.zip" .
  9. ^ Супник, Боб (04 июня 2018 г.). «Комплекты программного обеспечения» . Компьютерное моделирование и история (SimH) . Bitsavers.org . Проверено 18 декабря 2018 г.
  10. ^ Супник, Боб (2 сентября 2007 г.). «Комплекты программного обеспечения» . Компьютерное моделирование и история (SimH) . Форум ПРП-11 . Проверено 18 декабря 2018 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 312901eb3725217bcf1d55bbd7216288__1673605620
URL1:https://arc.ask3.ru/arc/aa/31/88/312901eb3725217bcf1d55bbd7216288.html
Заголовок, (Title) документа по адресу, URL1:
MDL (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)