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

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

NIL
登場時期 1979年 (45年前) (1979)
設計者 Jon L White, Glenn S. Burke
最終リリース 0.286/ 1984年1月 (40年前) (1984-01)
影響を受けた言語 Lisp, Maclisp
影響を与えた言語 Common Lisp, T
プログラミング言語 Lisp, VAXアセンブリ言語
プラットフォーム VMS
関連言語 Lisp, Common Lisp
テンプレートを表示

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

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

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

言語拡張および開発環境 編集

  • オブジェクト指向システム: Fravors
  • 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実装であった。

脚注 編集

  1. ^ https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1468-0394.1985.tb00482.x
  2. ^ 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
  3. ^ https://www.researchgate.net/publication/34632285_The_development_of_a_general_purpose_editing_system_the_Nile_editor

文献 編集

  • 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