NIL (プログラミング言語)

NIL（New Implementation of LISP）はマサチューセッツ工科大学で開発されたLispの方言である。

1970年代後半にDEC社の32ビットマシンであるVAXコンピューターで稼動するMaclispの後継言語として開発が始まった。

Maclispとの互換性を維持しつつVAXの高速性を活かし、大規模なアプリケーションのより高速な実行を目指した。

プロジェクトは開発当初はJon L Whiteが主導し、後にGlen S Burkeが主導開発者となったが、後に擡頭してくるCommon Lispの仕様策定と合流し、Common Lispに影響を与えつつ、NIL自体もCommon Lispに適合していった。

言語拡張および開発環境

 オブジェクト指向システム: 
 MIT Lispマシン風のエラーハンドリングシステム
 Emacs互換エディタ: Steve（実装言語はLisp）

商用化

1985年にはImpediment社によりMicroVAX IIで稼動するCommon Lisp処理系として商用化されている。
日本国内では、住友商事が扱うMicroVAX IIのパッケージの一つとして販売されていた。

逸話

Common Lispはレキシカルスコープを採用するにあたって、既にレキシカルスコープを採用していたNILに倣ったとされる。

Richard SoleyがNILプロジェクト用にNILEというEmacs風エディタを開発していたという逸話がEmacsの歴史として伝えられているが、上述のようにNILの組み込みエディタはSteveという別のEmacs実装であった。

脚注

文献
 Brent T. Hailpern, Bruce L. Hitson. S-1 Architecture Manual. Technical Report 161 (STAN-CS-79-715), Department of Electrical Engineering, Stanford University, January 1979.
 G. Burke. Introduction to NIL. Laboratory for Computer Science, Massachusetts Institute of Technology, March 1983.
 G.S. Burke, G.J. Carrette, C.R. Eliot. NIL Notes for Release 0.259, Laboratory for Computer Science, Massachusetts Institute of Technology, June 1983.
 G.S. Burke, G.J. Carrette, C. R. Eliot. NIL Reference Manual. Report MIT/LCS/TR-311, Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, Massachusetts, 1983.

論文
 Steven Correll. S-1 uniprocessor architecture (sma-4). Volume I, Chapter 4, The S-1 Project 1979 Annual Report, Lawrence Livermore Laboratory, Livermore, California, 1979.
 Jon L. White. Nil: A perspective. Proceedings of 1979 Macsyma Users' Conference, Washington, D.C., June 1979.
 Rodney A. Brooks, Richard P. Gabriel, Guy L. Steele Jr. S-1 Common Lisp Implementation. Proceedings of the 1982 ACM symposium on LISP and functional programming, Pittsburgh, 1982, pages 108 – 113. ACM DL
 Rodney A. Brooks, Richard P. Gabriel, Guy L. Steele Jr. An optimizing compiler for a lexically scoped LISP. Proceedings of the 1982 Symposium on Compiler Construction, Boston, June 1982, pages 261-275. ACM DL
 Mark Smotherman. S-1 Supercomputer (1975–1988). Web site, last updated April 24, 2004. http://www.cs.clemson.edu/~mark/s1.html

Category:Common Lispの実装
Category:LISP
Category:プログラミング言語