NIL: New Implementation of LISP
NIL(New Implementation of LISP)は、
マサチューセッツ工科大学(MIT)で開発されたLispの方言であり、1970年代後半に進行したプロジェクトです。この言語は、DEC社が製造した32ビットの
VAXコンピューター上で動作するMaclispの後継言語として誕生しました。NILは、Maclispとの高い互換性を維持しつつ、
VAXの持つ高速性を最大限に引き出すことを目指しました。その結果、大規模なアプリケーションの実行速度を大幅に向上させることが可能となりました。
プロジェクトは、最初の段階ではJon L. Whiteが主導していて、その後Glen S. Burkeがこのプロジェクトの主要な開発者として加わりました。この開発過程で、NILは、次第に
Common Lispの仕様策定という流れに統合されていきます。この過程では、
Common Lispに影響を与えつつ、NIL自体も
Common Lispの特性を取り入れる形で進化しました。
言語の特徴と開発環境
NILは、特にオブジェクト指向プログラミングにおけるシステム、Flavorsを搭載している点が特長です。開発者はこれを使用することで、より柔軟で効率的なコーディングが可能となります。また、MIT Lispマシン風のエラーハンドリングシステムも導入され、プログラムの堅牢性が向上しています。加えて、NILにはEmacs互換のエディタであるSteveが組み込まれており、プログラムの編集及びデバッグが行いやすくなっています。Steveは他のLisp実装とは異なる独自のエディタですが、Emacsの利便性を取り入れているため、多くのユーザーにとって親しみやすい環境を提供しています。
商業化と普及
1985年、NILはImpediment社によって商業化され、Micro
VAX IIで動作する
Common Lisp処理系としてリリースされました。この製品は、日本国内では住友商事が扱うMicro
VAX IIのパッケージの一部として販売され、多くのユーザーに利用されました。このように、NILは当時の技術革新の一翼を担い、商業的にも成功を収めました。
逸話と影響
NILには、コンピュータ言語の進化に寄与した興味深い逸話があります。特に、
Common Lispがレキシカルスコープを採用する際、既にレキシカルスコープを使っていたNILの影響があったと言われています。また、Richard SoleyがNILプロジェクト用にEmacsスタイルのエディタ「NILE」を開発したことも知られており、このエディタはEmacsの歴史の一部として語り継がれていますが、NILに実装されたエディタは実際にはSteveであったことも重要です。
NILの開発には、多くの技術的な挑戦があったものの、その成果は後に
Common Lispの基盤を形作ることとなりました。NILはLispの歴史の中でも特異の存在であり、その影響は今でも多くの
プログラミング言語や環境に見られます。