HOME

TheInfoList



OR:

MDL (Model Development Language, or colloquially also referred to as More Datatypes than Lisp or MIT Design Language) is a
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
, a descendant of the language Lisp. Its initial purpose was to provide high level language support for the Dynamic Modeling Group at
Massachusetts Institute of Technology The Massachusetts Institute of Technology (MIT) is a private land-grant research university in Cambridge, Massachusetts. Established in 1861, MIT has played a key role in the development of modern technology and science, and is one of the ...
's (MIT)
Project MAC Computer Science and Artificial Intelligence Laboratory (CSAIL) is a research institute at the Massachusetts Institute of Technology (MIT) formed by the 2003 merger of the Laboratory for Computer Science (LCS) and the Artificial Intelligence Lab ...
. It was developed in 1971 on a
PDP-10 Digital Equipment Corporation (DEC)'s PDP-10, later marketed as the DECsystem-10, is a mainframe computer family manufactured beginning in 1966 and discontinued in 1983. 1970s models and beyond were marketed under the DECsystem-10 name, espec ...
running ITS and later ran on TENEX,
TOPS-20 The TOPS-20 operating system by Digital Equipment Corporation (DEC) is a proprietary OS used on some of DEC's 36-bit mainframe computers. The Hardware Reference Manual was described as for "DECsystem-10/DECSYSTEM-20 Processor" (meaning the DEC PDP- ...
, BSD, and
AEGIS The aegis ( ; grc, αἰγίς ''aigís''), as stated in the ''Iliad'', is a device carried by Athena and Zeus, variously interpreted as an animal skin or a shield and sometimes featuring the head of a Gorgon. There may be a connection with a d ...
. The initial development team consisted of
Gerald Sussman Gerald Jay Sussman (born February 8, 1947) is the Panasonic Professor of Electrical Engineering at the Massachusetts Institute of Technology (MIT). He received his S.B. and Ph.D. degrees in mathematics from MIT in 1968 and 1973 respectively. H ...
and
Carl Hewitt Carl Eddie Hewitt () is an American computer scientist who designed the Planner programming language for automated planningCarl Hewitt''PLANNER: A Language for Proving Theorems in Robots''IJCAI. 1969. and the actor model of concurrent computa ...
of the Artificial Intelligence Lab, and Chris Reeve, Bruce Daniels, and David Cressey of the Dynamic Modeling Group. Later, Stu Galley, also of the Dynamic Modeling Group, wrote the MDL documentation. MDL was initially called ''Muddle''. This style of self-deprecating humor was not widely understood or appreciated outside of Project MAC. So the name was sanitized to MDL. MDL provides several enhancements to classic Lisp. It supports several built-in data types, including lists, strings and arrays, and user-defined data types. It offers multithreaded expression evaluation and
coroutine Coroutines are computer program components that generalize subroutines for non-preemptive multitasking, by allowing execution to be suspended and resumed. Coroutines are well-suited for implementing familiar program components such as cooperative ...
s. Variables can carry both a local value within a scope, and a global value, for passing data between scopes. Advanced built-in functions supported interactive debugging of MDL programs, incremental
development Development or developing may refer to: Arts *Development hell, when a project is stuck in development *Filmmaking, development phase, including finance and budgeting *Development (music), the process thematic material is reshaped * Photograph ...
, and reconstruction of source programs from object programs. Although MDL is obsolete, some of its features have been incorporated in later versions of Lisp. Gerald Sussman went on to develop the Scheme language, in collaboration with
Guy Steele Guy Lewis Steele Jr. (; born October 2, 1954) is an American computer scientist who has played an important role in designing and documenting several computer programming languages and technical standards. Biography Steele was born in Missouri ...
, who later wrote the specifications for Common Lisp and
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
. Carl Hewitt had already published the idea for the language ''
Planner Planner may refer to: * A personal organizer (book) for planning * Microsoft Planner * Planner programming language * Planner (PIM for Emacs) * Urban planner * Route planner * Meeting and convention planner * Japanese term for video game designer ...
'' before the MDL project began, but his subsequent thinking on Planner reflected lessons learned from building MDL. Planner concepts influenced languages such as
Prolog Prolog is a logic programming language associated with artificial intelligence and computational linguistics. Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is intended primarily ...
and Smalltalk. Smalltalk and Simula, in turn, influenced Hewitt's future work on the actor model. But the largest influence that MDL had was on the
software Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work. ...
genre of interactive fiction (IF). An IF game named
Zork ''Zork'' is a text-based adventure game first released in 1977 by developers Tim Anderson, Marc Blank, Bruce Daniels, and Dave Lebling for the PDP-10 mainframe computer. The original developers and others, as the company Infocom, expanded a ...
, sometimes called Dungeon, was first written in MDL. Later, Reeve, Daniels, Galley and other members of Dynamic Modeling went on to start Infocom, a company that produced many early
commercial Commercial may refer to: * a dose of advertising conveyed through media (such as - for example - radio or television) ** Radio advertisement ** Television advertisement * (adjective for:) commerce, a system of voluntary exchange of products and s ...
works of interactive fiction. In 1980
Marc Blank Marc Blank is an American game developer and software engineer. He is best known as part of the team that created one of the first commercially successful text adventure computer games, ''Zork''. Career Blank first encountered Don Woods and Will ...
and Joel Berez adapted the MDL language to create a subset called
ZIL (Zork Implementation Language) ZIL or Zil may refer to: * ZiL (''Zavod imeni Likhachova''), a former car and truck factory in Moscow, Russia ** ZiL lanes, dedicated traffic lanes for Soviet officials * ZIL (Moscow Central Circle), a Moscow Metro railway station * Zil, Iran, a ...
which was used extensively by Infocom to create their award winning games.


Code sample

This is a sample of PDP-10 MDL: EST ROOM) ) ) ( > ) ( .RMS>> ) ( .RMS> .RMS>>> )>> .EXITS>>


See also

*
ZIL (Zork Implementation Language) ZIL or Zil may refer to: * ZiL (''Zavod imeni Likhachova''), a former car and truck factory in Moscow, Russia ** ZiL lanes, dedicated traffic lanes for Soviet officials * ZIL (Moscow Central Circle), a Moscow Metro railway station * Zil, Iran, a ...
*
Zork ''Zork'' is a text-based adventure game first released in 1977 by developers Tim Anderson, Marc Blank, Bruce Daniels, and Dave Lebling for the PDP-10 mainframe computer. The original developers and others, as the company Infocom, expanded a ...
* Scheme (programming language) *
Planner (programming language) Planner (often seen in publications as "PLANNER" although it is not an acronym) is a programming language designed by Carl Hewitt at MIT, and first published in 1969. First, subsets such as Micro-Planner and Pico-Planner were implemented, and th ...


References


External links

{{DEFAULTSORT:Mdl (Programming Language) Dynamically typed programming languages Functional languages Lisp programming language family