MDL (programming language): Difference between revisions

Content deleted Content added
m top: copy edit with General fixes; url trimming of identifying info perWP:LINKSTOAVOID and Citation Style
WP:LINKs: adds, updates, WP:NOPIPEs. WP:LEADSENTENCE clarify for topic novices. Small WP:EoS WP:COPYEDITs: clarify. 1st instance full terms define before WP:ABBReviations. Nonacronym proper noun WP:ALLCAPS, nonlead-word nonproper noun MOS:CAPS > sentence case. WP:NAVBOX Template:Lisp programming language add.
Line 1:
'''MDL''' (the '''MIT Design Language''') is a [[programming language]], a descendant of the language [[Lisp (programming language)|Lisp]]. Its initial purpose was to provide high level language support for the Dynamic Modeling Group at [[Massachusetts Institute of Technology|MIT]]'s (MIT) [[Project MAC]]. It was initially developed in 1971 on the [[PDP-10]] computer under the [[Incompatible Timesharing System]].<ref>
{{cite web |url=http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-292.pdf |title=MDL Programming Primer MIT-LCS-TR-292 |last= |first= |date= |website= |publisher= |access-date=}}</ref> It was initially developed in 1971 on a [[PDP-10]] computer on a [[time-sharing]] [[operating system]] named [[Incompatible Timesharing System]] (ITS). It later ran on [[TOPS-20#TENEX|TENEX]] and [[TOPS-20]].<ref>
{{cite web |url=http://ifarchive.org/if-archive/programming/mdl/manuals/MDL_Programming_Language.pdf |title=The MDL Programming Language |last=Galley |first=Stu W. |last2=Pfister |first2=Greg |date=1979 |website= |publisher=Massachusetts Institute of Technology, Laboratory for Computer Science |access-date=2018-12-18}}</ref><ref>
*[{{cite web |url=http://ifarchive.org/if-archive/programming/mdl/manuals/MDL_Programming_Environment.pdf |title=The MDL Programming Environment (|last=Lebling |first=P. David |date=May 1980) |website= |publisher=Massachusetts Institute of Technology, byLaboratory Davidfor Lebling]Computer Science |access-date=2018-12-18}}</ref>
 
The initial development team consisted of [[Gerald Sussman]] and [[Carl Hewitt]] 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.{{citation needed|date=August 2013}}
 
MDL was initially knowncalled as "''Muddle"''. This style of self-deprecating humor was not widely understood or appreciated outside of Project MAC and a few other early citadels of information technology. So the name was sanitized to MDL. {{citation needed|date=May 2013}}
 
MDL provides several enhancements to classicalclassic Lisp. It supports several built-in data types, including lists, strings and arrays, and user-defined data types. It offers [[Thread (computing)|multithreaded]] expression evaluation and coroutines[[coroutine]]s. Variables[[Variable (computer science)|Variable]]s 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 [[Software development|development]], 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 (programming language)|Scheme]] language, in collaboration with [[Guy Steele]], who later wrote the specifications for [[Common Lisp]] and [[Java (programming language)|Java]]. Carl Hewitt had already published the idea for the language ''[[PLANNER]]Planner (programming language)|Planner]]'' before the MDL project began, but his subsequent thinking on PLANNERPlanner reflected lessons learned from building MDL. Planner concepts influenced languages such as [[Prolog]] and [[Smalltalk]]. Smalltalk and [[Simula]], in turn, influenced hisHewitt's future work on the [[Actoractor model]].
 
But the largest influence that MDL had was on the [[software]] genre known asof [[interactive fiction]] (IF). An interactive fictionIF game known asnamed [[Zork]], sometimes called Dungeon, was first written in MDL.<ref name="dyer19840506">{{Cite news |url=http://www.csd.uwo.ca/Infocom/Articles/globe84.html |title=Masters of the Game |last=Dyer |first=Richard |date=1984-05-06 |newspaper=The Boston Globe |archive-url=https://web.archive.org/web/19970607204921/http://www.csd.uwo.ca/Infocom/Articles/globe84.html |archive-date=1997-06-07 |deadurldead-url=yes |df= }}</ref> Later, Reeve, Daniels, Galley and other members of Dynamic Modeling went on to start [[Infocom]], a company that produced many early [[Commercial software|commercial]] works of interactive fiction.
 
==Code sample==
==Code sample<ref>Original source code for the mainframe environment , http://simh.trailing-edge.com/games/zork-mdl.zip , http://simh.trailing-edge.com/software.html , snippet shown here in wikipedia was originally downloaded from Russian mirror http://pdp-11.ru/simh_trailing-edge_com/software.html</ref>==
The original source code for the mainframe environment<ref>{{cite web |url=http://simh.trailing-edge.com/games/zork-mdl.zip |title=Zork-mdl.zip |last= |first= |date= |website= |publisher= |access-date=}}</ref><ref>{{cite web |url=http://simh.trailing-edge.com/software.html |title=Software Kits |last=Supnik |first=Bob |date=2018-06-04 |website=Computer Simulation and History (SimH) |publisher=Bitsavers.org |access-date=2018-12-18}}</ref> snippet shown below was downloaded originally from a Russian mirror.<ref>{{cite web |url=http://pdp-11.ru/simh_trailing-edge_com/software.html |title=Software Kits |last=Supnik |first=Bob |date=2007-09-02 |website=Computer Simulation and History (SimH) |publisher=Forum PDP-11 |access-date=2018-12-18}}</ref>
 
<code>
<DEFINE EXIT-TO (EXITS RMS)
#DECL ((EXITS) EXIT (RMS) <UVECTOR [REST ROOM]>)
Line 26 ⟶ 32:
<MEMQ <DROOM2 .E> .RMS>>>
<MAPLEAVE T>)>>
.EXITS>></code>
 
==See also==
* [[Zork]]
* [[Scheme (programming language)|Scheme]]
* [[Planner (programming language)]]
* [[PLANNER]]
 
==References==
{{Reflist}}
 
==External links==
* [http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-292.pdf MDL Programming Primer MIT-LCS-TR-292]
*[http://ifarchive.org/if-archive/programming/mdl/manuals/MDL_Programming_Language.pdf The MDL Programming Language (1979), by Stu Galley and Greg Pfister]
*[http://ifarchive.org/if-archive/programming/mdl/manuals/MDL_Programming_Environment.pdf The MDL Programming Environment (1980), by David Lebling]
 
{{Lisp programming language}}
==References==
<references/>
 
{{DEFAULTSORT:Mdl (Programming Language)}}