MDL(프로그래밍 언어)

MDL (programming language)
MDL
패러다임멀티패러다임: 기능성, 절차성, 반사성, 메타
가족리스프
설계자제럴드 서스먼, 칼 휴이트, 크리스 리브, 브루스 다니엘스
개발자MIT 프로젝트 MAC
처음 등장한1971년; 51년 전 (2011년)
최종 릴리즈
105/1980; 42년 전(1980년)
타이핑 분야다이내믹하고 강력함
범위정적, 어휘
구현 언어MDL
플랫폼PDP-10, VAX, 아폴로/도메인
OSITS, TENNEX, TOPS-20, BSD, AGIS
면허증.오픈 소스
영향을 받다
리스프
영향받은
ZIL, Planner, Scheme, Common Lisp, Java, Prolog, Smalltalk, 배우 모델, 인터랙티브 픽션

MDL(모델 개발 언어,[1] 구어로는 Lisp 또는 MIT 디자인 언어보다[2]: 3 [citation needed] 더 많은 데이터 유형)은 Lisp 언어의 후손인 프로그래밍 언어입니다.Massachusetts Institute of Technology([3]MIT) Project MAC의 Dynamic Modeling Group에 고급 언어 지원을 제공하는 것이 당초 목적이었습니다.1971년 ITS를 실행하는 PDP-10에서 개발되었으며 이후 TENNEX, TOPS-20,[4][5] BSD [2]: 6 AGIS에서 [6]실행되었습니다.

초기 개발팀은 인공지능 연구소의 Gerald Sussman과 Carl Hewitt, Dynamic Modeling Group의 Chris Reve, Bruce Daniels 및 David Cresey로 구성되었습니다.그 후, Dynamic Modeling Group의 Stu Galley가 MDL [citation needed]문서를 작성했습니다.

MDL은 처음에 [4]: 2 Muddle로 불렸다.이러한 자기 비하적 유머 스타일은 프로젝트 MAC 이외에서는 널리 이해되거나 인식되지 않았습니다.그래서 이름은 MDL로 [citation needed]삭제되었습니다.

MDL은 Lisp에 대한 몇 가지 기능 확장을 제공합니다.목록, 문자열 및 배열, 사용자 정의 데이터 유형 등 몇 가지 기본 제공 데이터 유형을 지원합니다.멀티스레드 표현식 평가 및 코루틴을 제공합니다.변수는 스코프 내의 로컬 값과 스코프 간에 데이터를 전달하기 위한 글로벌 값을 모두 전달할 수 있습니다.고도의 임베디드 기능을 통해 MDL 프로그램의 인터랙티브 디버깅, 증분 개발 및 객체 프로그램의 소스 프로그램 재구성이 지원되었습니다.

MDL은 구식이지만 일부 기능은 Lisp의 최신 버전에 포함되어 있습니다.Gerald Sussman은 나중에 Common LispJava 사양을 작성한 Guy Stele과 협력하여 Scheme 언어를 개발했습니다.Carl Hewitt는 MDL 프로젝트가 시작되기 전에 이미 언어 플래너에 대한 아이디어를 발표했지만, 이후 Planner에 대한 그의 생각은 MDL 구축에서 얻은 교훈을 반영했습니다.Planner의 개념은 PrologSmalltalk 등의 언어에 영향을 미쳤습니다.스몰톡과 시뮬라는 차례로 휴이트의 배우 모델에 대한 향후 작업에 영향을 미쳤다.

그러나 MDL이 끼친 가장 큰 영향은 소프트웨어 장르인 인터랙티브 픽션(IF)에 있었습니다.때때로 던전이라고 불리는 조크라는 이름의 IF 게임이 MDL에서 [7]처음 쓰여졌다. 후에 리브, 다니엘스, 갤리 그리고 다이내믹 모델링의 다른 멤버들은 인터랙티브 픽션의 많은 초기 상업적인 작품들을 제작한 회사인 Infocom을 시작했다.

1980년 Mark Blank와 Joel Berez는 MDL 언어를 수정하여 ZIL(Zork Implementation Language)이라는 서브셋을 만들었습니다.이 서브셋은 Infocom에서 수상 경력이 있는 게임을 만드는 데 광범위하게 사용되었습니다.

코드샘플

다음으로 PDP-10 MDL의 [8][9][10]예를 나타냅니다.

 <Exit-TO (RMS) #DECL ((Exits) Exit (RMS) <UVECTOR [REST ROOM])> <MAPF <> < FUNCTION (E) #DECL (E) <OR DIRECTION NEXIT DOOR> <CONDION (CONDION)> </FONTION > <<CREENT >> <<ECT>><ECT > > >RMS>> <MAPLEAVE T> (<그리고 <TYPE?>.E CEX)IT> < MEMQ < 2 >E> .RMS>> <MAPLEAVE T> (그리고 <TYPE? .E DOOR> <또는 <MEMQ <DROOM1.E>)RMS > < MEMQ < DROOM2 . E >RMS > > > < MAPLEAVE T > > > . EXITS >

「 」를 참조해 주세요.

레퍼런스

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

외부 링크