NIL (プログラミング言語)
登場時期 | 1979年 |
---|---|
設計者 | Jon L White, Glenn S. Burke |
最終リリース | 0.286/ 1984年1月 |
影響を受けた言語 | Lisp, Maclisp |
影響を与えた言語 | Common Lisp, T |
プログラミング言語 | Lisp, VAXアセンブリ言語 |
プラットフォーム | VMS |
関連言語 | Lisp, Common Lisp |
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に適合していった。
言語拡張および開発環境
- オブジェクト指向システム: Flavors
- MIT Lispマシン風のエラーハンドリングシステム
- Emacs互換エディタ: Steve(実装言語はLisp)
商用化
1985年にはImpediment社によりMicroVAX IIで稼動するCommon Lisp処理系として商用化されている[1]。 日本国内では、住友商事が扱うMicroVAX IIのパッケージの一つとして販売されていた。
逸話
Common Lispはレキシカルスコープを採用するにあたって、既にレキシカルスコープを採用していたNILに倣ったとされる[2]。
Richard SoleyがNILプロジェクト用にNILEというEmacs風エディタを開発していたという逸話がEmacsの歴史として伝えられている[3]が、上述のようにNILの組み込みエディタはSteveという別のEmacs実装であった。
脚注
- ^ “Hardware - 1985 - Expert Systems”. Wiley Online Library. 2025年2月3日閲覧。
- ^ Rodney A. Brooks; Richard P. Gabriel; Guy L. Steele Jr. “An Optimizing Compiler for Lexically Scoped Lisp”. 2025年2月3日閲覧。
- ^ Richard Soley. “The development of a general purpose editing system : the Nile editor”. 2025年2月3日閲覧。
文献
- 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