Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

MDL (programming language)

From Wikipedia, the free encyclopedia
Lisp-like programming language
MDL
ParadigmsMulti-paradigm:functional,procedural,reflective,meta
FamilyLisp
Designed byGerald Sussman,Carl Hewitt, Chris Reeve,Bruce Daniels
DeveloperMITProject MAC
First appeared1971; 54 years ago (1971)
Final release
105 / 1980; 45 years ago (1980)
Typing disciplineDynamic,strong
ScopeStatic, lexical
Implementation languageMDL
PlatformPDP-10,VAX,Apollo/Domain
OSITS,TENEX,TOPS-20,BSD,AEGIS
LicenseOpen-source
Influenced by
Lisp
Influenced
ZIL,Planner,Scheme,Common Lisp,Java,Prolog,Smalltalk;actor model,interactive fiction

MDL (Model Development Language,[1] or colloquially also referred to asMore Datatypes than Lisp[2]: 3  orMIT Design Language[citation needed]) is aprogramming language, a descendant of the languageLisp. Its initial purpose was to providehigh-level programming language support for the Dynamic Modeling Group atMassachusetts Institute of Technology's (MIT)Project MAC.[3] It was developed in 1971 on aPDP-10 runningITS and later ran onTENEX,TOPS-20,[4][5]BSD,[2]: 6  andAEGIS.[6]

The initial development team consisted ofGerald Sussman andCarl 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]

MDL was initially calledMuddle.[4]: 2  This style of self-deprecating humor was not widely understood or appreciated outside of Project MAC. So the name was sanitized to MDL.[citation needed]

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 offersmultithreaded expression evaluation andcoroutines.Variables can carry both a local value within a scope, and a global value, for passing data between scopes. Advanced built-in functions supported interactivedebugging of MDL programs, incrementaldevelopment, 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 theScheme language, in collaboration withGuy Steele, who later wrote the specifications forCommon Lisp andJava. Carl Hewitt had already published the idea for the languagePlanner before the MDL project began, but his subsequent thinking on Planner reflected lessons learned from building MDL. Planner concepts influenced languages such asProlog andSmalltalk. Smalltalk andSimula, in turn, influenced Hewitt's future work on theactor model.

But the largest influence that MDL had was on thesoftware genre ofinteractive fiction (IF). An IF game namedZork, sometimes called Dungeon, was first written in MDL.[7] Later, Reeve, Daniels, Galley and other members of Dynamic Modeling went on to startInfocom, a company that produced many earlycommercial works of interactive fiction.

In 1980Marc Blank and Joel Berez adapted the MDL language to create a subset called ZIL (Zork Implementation Language) which was used extensively byInfocom to create their award winning games.

Code sample

[edit]

This is a sample of PDP-10 MDL:[8][9][10]

<DEFINEEXIT-TO(EXITSRMS)#DECL((EXITS)EXIT(RMS)<UVECTOR[RESTROOM]>)<MAPF<><FUNCTION(E)#DECL((E)<ORDIRECTIONROOMCEXITNEXITDOOR>)<COND(<TYPE?.EDIRECTION>)(<AND<TYPE?.EROOM><MEMQ.E.RMS>><MAPLEAVET>)(<AND<TYPE?.ECEXIT><MEMQ<2.E>.RMS>><MAPLEAVET>)(<AND<TYPE?.EDOOR><OR<MEMQ<DROOM1.E>.RMS><MEMQ<DROOM2.E>.RMS>>><MAPLEAVET>)>>.EXITS>>

See also

[edit]

References

[edit]
  1. ^Supnik, Bob (October 25, 2006)."GET LAMP Bob Supnik Interview" (Interview). Interviewed by Jason Scott. 15:00.
  2. ^abLicklider, J. C. R. (January 1988).Graphical Programming and Monitoring RADC-TR-88-7(PDF) (Report). Rome Air Development Center.Archived(PDF) from the original on May 3, 2019. Retrieved2019-05-18.
  3. ^Dornbrook, Michael; Blank, Marc (1980).MDL Programming Primer MIT-LCS-TR-292(PDF). Massachusetts Institute of Technology, Laboratory for Computer Science. Retrieved2019-05-18.
  4. ^abGalley, Stu W.; Pfister, Greg (1979).The MDL Programming Language(PDF). Massachusetts Institute of Technology, Laboratory for Computer Science. Retrieved2018-12-18. (Markdown/HTML transcription)
  5. ^Lebling, P. David (May 1980).The MDL Programming Environment(PDF). Massachusetts Institute of Technology, Laboratory for Computer Science. Retrieved2018-12-18.
  6. ^Lim, Poh Chuan (1982).A Device-Independent Graphics Manager for MDL(PDF) (Report). Massachusetts Institute of Technology. p. 69. Retrieved2019-05-18.
  7. ^Dyer, Richard (1984-05-06)."Masters of the Game".The Boston Globe. Archived fromthe original on 1997-06-07.
  8. ^"Zork-mdl.zip".
  9. ^Supnik, Bob (2018-06-04)."Software Kits".Computer Simulation and History (SimH). Bitsavers.org. Retrieved2018-12-18.
  10. ^Supnik, Bob (2007-09-02)."Software Kits".Computer Simulation and History (SimH). Forum PDP-11. Retrieved2018-12-18.

External links

[edit]
Features
Object systems
Implementations
Standardized
Common
Lisp
Scheme
ISLISP
Unstandardized
Logo
POP
Operating system
Hardware
Community
of practice
Technical standards
Education
Books
Curriculum
Organizations
Business
Education
People
Common Lisp
Scheme
Logo
POP
Retrieved from "https://en.wikipedia.org/w/index.php?title=MDL_(programming_language)&oldid=1265243768"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp