NIL(프로그래밍 언어)

NIL (programming language)
제로
패러다임멀티파라다임: 기능적, 절차
가족리스프
설계자존 L 화이트
개발자존 L 화이트
남자 L. 스틸 주니어
리처드 P. 가브리엘
처음 등장한1979년; 43년 전 (1979년)
타이핑 분야다이내믹, 스트롱
구현 언어VAX 조립품
플랫폼PDP-6, PDP-10
OSTOP-10, ITS
영향을 받다
리스프, Maclisp
영향받은
공통 리스프,[1] T

NIL(New Implementation of LISP)은 1970년대매사추세츠 공과대학(MIT)에서 개발된 언어Lisp[1]후속 언어입니다.32비트 구현으로,[2] 부분적으로 DEC(Digital Equipment Corporation)의 VAX 컴퓨터에 대한 응답이었습니다.이 프로젝트는 Jon [3]L White가 주도하고 있으며, MacLisp와의 호환성을 유지하면서 많은 문제를 해결한다는 목표를 가지고 있습니다.

역사

리스프어는 1958년 존 매카시가 매사추세츠 공과대학([4]MIT)에 있을 때 발명되었다.설립 초기부터 리스프는 인공지능(AI) 연구 커뮤니티, 특히 PDP-10 시스템과 밀접하게 연결되어 있었습니다.PDP-6PDP-1036비트 워드 사이즈는 한 단어로 2개의 Lisp 18비트 포인터를 갖는 것의 유용성에 영향을 받았습니다.PDP-6 프로젝트는 1963년 초에 24비트 머신으로 시작되었습니다.설계 [5]목표인 LISP의 경우 36비트로 증가했습니다."Lisp는 유명한 AI 시스템 SHRDLU의 기초가 된 프로그래밍 언어 Micro Planner의 구현으로 사용되었습니다.특히 LispMacsyma 컴퓨터 대수 시스템을 구현하기 위해 사용되었습니다.1970년대 AI 연구가 상업적인 분사를 낳으면서 현존하는 리스프 시스템의 성능이 점점 문제가 되었다.

부분적으로는 가비지 컬렉션(Lisp는 메모리 할당[2] 위해 단일 힙의 정지 및 복사 가비지 컬렉션을 사용함)과 부분적으로는 내부 구조의 표현으로 인해 Lisp는 오늘날의 메모리 제한 스톡 컴퓨터 하드웨어에서 실행하기가 어려워졌습니다.이를 통해 리스프 환경 및 프로그램을 실행하기 위한 전용 하드웨어인 리스프 머신이 생성되었습니다.그 대안으로, 보급되고 있는 보다 강력한 범용 하드웨어, 특히 DEC(Digital Equipment Corporation) VAX사용하는 것이 있었습니다.

NIL은 1970년대 중후반 MIT에서 개발된 Lisp의 구현으로, Lisp [2]머신의 Lisp와는 대조적으로 [1]스톡 하드웨어에서 실행할 수 있는 Maclisp의 최신 후계자를 의도하고 있습니다."원래 주식 하드웨어에 대한 첫번째 현대 Lisp 사투리로 Lisp 기계 Lisp의 MIT에서는 개발 이후에 설계된 중 하나가 되는 것 커먼 리스프의 설계에 관한 주요 영향을 계속했다."(pg 63/294[2]의)는 Macsyma 프로그램의 사용자들이 AA는 그에게 많은 잠재적 사용자 기반을 상징하였다, AA는 것은 larg 필요한 것이었다.e,복잡한 시스템, 그리고 그 속도가 필수적입니다.예를 들어, NIL은 느린 [6]비그넘에서는 장애가 되기 때문에 고속 비그넘은 Macsyma를 지원하기 위한 요건이었습니다.그 결과 NIL은 VAX 어셈블리 언어의 대규모 기반을 갖게 되었습니다.이러한 요구사항으로 인해 매우 공격적이고 복잡한 최적화 전략이 조기에 적용되어 최종 [7]시스템에 부정적인 결과가 초래되었습니다.

NIL을 작성하기 위한 노력과 동시에, 스탠포드 대학의 연구 그룹리처드 P. 가브리엘이 이끄는 로렌스 리버모어 국립 연구소는 S-1 Mark IIIA 슈퍼 컴퓨터인 S-1 Lisp에서 작동하는 Lisp의 디자인을 조사하고 있었다.이 Lisp는 완전히 기능하지는 않았지만 고급 컴파일러 메서드를 Lisp에 구현하기 위한 테스트베드였습니다.결국 S-1과 NIL 그룹은 협력하기 시작했다.

비록 사용 언어로서의 목표를 달성하는 데는 실패했지만, NIL은 여러 면에서 중요했습니다.먼저, 존 L이 모였습니다.White, Guy L. Steel Jr., Richard P. Gabriel은 나중에 Common [1]Lisp를 정의하게 된다.둘째, Jonathan Rees는 예일 대학교를 졸업한 1년 동안 NIL 프로젝트의 일부에서 일했다.예일대로 돌아오자, 그는 컴퓨터 과학부에 고용되어 새로운 리스프를 쓰게 되었고, 이것이 T라는 이름의 최적화, 네이티브 코드 스킴 시스템이 되었다.부분적으로 NIL은 "T is NIL"[7]이 아니기 때문에 이 이름을 사용합니다.

1955 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 2020
LISP 1, 1.5, LISP 2(abandoned)
마클리스프
인터리스크
MDL
리스프 기계 리스프
스킴 R5RS R6RS R7RS 소형
없음
ZIL(Zork 구현 언어)
프란츠 리스프
일반적인 리스프
르 리스프
MIT 스킴
T
체즈 스킴
Emacs 리스프
자동 LISP
피코리스프
EuLisp
ISLISP
오픈리스프
PLT 방식 라켓
GNU Guile
비주얼 LISP
클로쥬르
LFE
하이

견적서

이런 종류의 프로젝트의 발생과 궁극적인 실패는 초기 논의에서 항상 분명하게 드러난다.한 가지 중요한 힌트 문구는 항상 "우리는 모든 오래된 난장판을 버리고 새롭게 시작하고 올바른 일을 할 것입니다."라는 형식입니다.

--

레퍼런스

  1. ^ a b c d Steele, Guy L. Jr.; Gabriel, Richard P. "The evolution of Lisp" (PDF). Retrieved 2017-08-05.
  2. ^ a b c d Gabriel, Richard P. (May 1985). Performance and evaluation of Lisp systems (PDF). MIT Press; Computer Systems Series. ISBN 978-0-262-07093-5. LCCN 85015161.
  3. ^ Pitman, Kent M. "Brief History of the Lisp Language". Archived from the original on 2006-10-10. Retrieved 2006-10-12.
  4. ^ McJones, Paul. "History of LISP". Retrieved 2006-10-12.
  5. ^ Hurley, Peter J. Stevens, Jack; Johnson, Lum (eds.). "The History of TOPS or Life in the Fast ACs". Google Groups. Retrieved 2018-11-28.
  6. ^ Weinreb, Dan. "Dan Weinreb on NIL". PaulGraham.com. Retrieved 2018-11-28.
  7. ^ a b c Shivers, Olin. "Olin Shivers: History of T". PaulGraham.com. Retrieved 2018-11-28.

참고 문헌

  • 브렌트 THailpern, Bruce L.히트슨.S-1 아키텍처 매뉴얼기술 보고서 161(STAN-CS-79-715), 스탠포드 대학교 전기공학부, 1979년 1월.
  • G. 버크NIL의 개요Massachusetts Institute of Technology, 컴퓨터 과학 연구소, 1983년 3월.
  • G.S. 버크, G.J. 카레트, C.R 엘리엇릴리스 0.259에 대한 NIL Notes, Massachusetts Institute of Technology, 컴퓨터 과학 연구소, 1983년 6월.
  • G.S. 버크, G.J. 카레트, C.R. 엘리엇NIL 참조 매뉴얼.MIT/LCS/TR-311, 매사추세츠 공대 컴퓨터 과학 연구소, 매사추세츠, 캠브리지, 1983.

페이퍼

  • 스티븐 코렐.S-1 유니프로세서아키텍처(sma-4).제1권, 제4장, 1979년 S-1 프로젝트 연차 보고서, 캘리포니아 리버모어 로렌스 리버모어 연구소, 1979년.
  • 존 L. 화이트없음: 관점.1979년 6월 워싱턴 D.C., 맥시마 사용자 회의 진행
  • 로드니 A.브룩스, 리처드 P. 가브리엘, 가이 L. 스틸 주니어S-1의 일반적인 Lisp 실장.1982년 LISP 및 기능 프로그래밍에 관한 ACM 심포지엄의 진행, 피츠버그, 1982, 108~113페이지. ACM DL
  • 로드니 A.브룩스, 리처드 P. 가브리엘, 가이 L. 스틸 주니어어휘 스코프 LISP를 위한 최적화 컴파일러입니다.1982년 보스턴 컴파일러 건설 심포지엄 진행, 1982년 6월, 261~275쪽.ACM DL
  • 마크 스머더맨.S-1 슈퍼컴퓨터(1975~1988)웹사이트, 2004년4월 24일 최종 갱신.http://www.cs.clemson.edu/~mark/s1.120