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


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

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

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

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

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

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