MDL ( lenguaje de desarrollo de modelos , [1] o coloquialmente también conocido como más tipos de datos que Lisp [2] :3 o lenguaje de diseño MIT [ cita requerida ] ) es un lenguaje de programación , descendiente del lenguaje Lisp . Su propósito inicial era proporcionar soporte de lenguaje de alto nivel para el Grupo de modelado dinámico en el Proyecto MAC del Instituto Tecnológico de Massachusetts (MIT) . [3] Se desarrolló en 1971 en un PDP-10 que ejecutaba ITS y luego se ejecutó en TENEX , TOPS-20 , [4] [5] BSD , [2] :6 y AEGIS . [6]
El equipo de desarrollo inicial estaba formado por Gerald Sussman y Carl Hewitt del Laboratorio de Inteligencia Artificial, y Chris Reeve, Bruce Daniels y David Cressey del Grupo de Modelado Dinámico. Más tarde, Stu Galley, también del Grupo de Modelado Dinámico, escribió la documentación del MDL. [ cita requerida ]
MDL se llamó inicialmente Muddle . [4] : 2 Este estilo de humor autocrítico no fue ampliamente comprendido ni apreciado fuera del Proyecto MAC. Por lo tanto, el nombre se modificó a MDL. [ cita requerida ]
MDL ofrece varias mejoras al Lisp clásico. Admite varios tipos de datos integrados, incluidas listas, cadenas y matrices, y tipos de datos definidos por el usuario. Ofrece evaluación de expresiones multiproceso y corrutinas . Las variables pueden llevar tanto un valor local dentro de un ámbito como un valor global para pasar datos entre ámbitos. Las funciones integradas avanzadas admiten la depuración interactiva de programas MDL, el desarrollo incremental y la reconstrucción de programas fuente a partir de programas objeto.
Aunque MDL está obsoleto, algunas de sus características se han incorporado en versiones posteriores de Lisp. Gerald Sussman continuó desarrollando el lenguaje Scheme , en colaboración con Guy Steele , quien más tarde escribió las especificaciones para Common Lisp y Java . Carl Hewitt ya había publicado la idea del lenguaje Planner antes de que comenzara el proyecto MDL, pero su pensamiento posterior sobre Planner reflejó lecciones aprendidas de la construcción de MDL. Los conceptos de Planner influyeron en lenguajes como Prolog y Smalltalk . Smalltalk y Simula , a su vez, influyeron en el trabajo futuro de Hewitt sobre el modelo de actor .
Pero la mayor influencia que tuvo MDL fue en el género de software de ficción interactiva (FI). Un juego de FI llamado Zork , a veces llamado Dungeon, fue escrito por primera vez en MDL. [7] Más tarde, Reeve, Daniels, Galley y otros miembros de Dynamic Modeling comenzaron a fundar Infocom , una empresa que produjo muchas de las primeras obras comerciales de ficción interactiva.
En 1980, Marc Blank y Joel Berez adaptaron el lenguaje MDL para crear un subconjunto llamado ZIL ( Zork Implementation Language ), que fue ampliamente utilizado por Infocom para crear sus premiados juegos.
Esta es una muestra del MDL PDP-10: [8] [9] [10]
<DEFINE SALIDA-A ( SALIDA RMS ) # DECL (( SALIDAS ) SALIDA ( RMS ) <UVECTOR [ BAÑO ] > ) <MAPF <> <FUNCIÓN ( E ) # DECL (( E ) < O DIRECCIÓN SALA C SALIDA SIGUIENTE PUERTA > ) < COND ( < TIPO ? .E DIRECCIÓN > ) ( < Y < TIPO ? .E SALA > < MEMQ .E .RMS >> < MAPLEAVE T > ) ( < Y <TIPO? .E C SALIDA> <MEMQ <2 .E> .RMS>> <MAPLEAVE T> ) ( <Y <TIPO? .E PUERTA> <O <MEMQ <DROOM1 .E> .RMS> <MEMQ <DROOM2 .E> .RMS>>> <MAPLEAVE T> ) >> .SALIDAS>>