メドレー/インターリスプの復活:文明化された時代のエレガントな武器が再び研ぎ澄まされる

Table of Contents

メドレー/インターリスプの復活:文明化された時代のエレガントな武器が再び研ぎ澄まされる

ANTIQUE CODE SHOW Xerox の先駆的なグラフィカル Lisp ワークステーション オペレーティング システムは、健在で、MIT ライセンスを受けているだけでなく、クラウドでも最新の OS でも実行できます。

先週、英国コンピュータ協会は、ジョージ・ワシントン大学のSte​​ve Kaisler氏によるMedley Interlisp復元プロジェクトに関する講演会を開催しました。彼はInterlispに関する書籍の著者でもあります。Medley Interlispプロジェクトチームは、Larry M Masinter氏、Nick Briggs氏、Ron Kaplan氏*によって率いられています。

Medley は単なるプログラミング言語、あるいは Lisp の非標準方言以上のものですが、その重要性を伝えるには、少し歴史を掘り下げる必要があります。

コンピュータ企業が倒産したり、市場から撤退して自社開発のソフトウェアを廃止したりすると、そのソフトウェアをオープンソース化して世界に公開すべきだという声が上がるのはよくあることです。ごく稀に、実際にそうなることもあります。しかし残念ながら、そうなった場合、たいていは誰もそれを完全に無視してしまいます。膨大なコードベースを操作し、それを最新化して新しいハードウェアで動作させ、ひょっとしたら再び使えるようにするのは、途方もない作業です。そのため、誰もそれを行わず、ソフトウェアは静かに朽ち果て、誰にも役立たなくなるまで、無視され、愛されずに消えていきます。例えば、Perihelion社の超並列クラスタOS Heliosは、まさにそのような状況に陥ったのです。

しかし、いつもそうとは限りません。

昔々、コンピューターの正しい作り方をめぐって、二つの対立する派閥の間で戦争がありました。結局、どちらか一方が勝利し、歴史書にその側が記されることになりました。そのため、歴史書の中では、その争いに関する記述はほとんど残されていません。残ったのは、異質な環境で動く奇妙なツールの数々だけです。戦争の理由と両陣営の争いについては、また別の機会にお話ししますが、結果として、この種のOSやプログラミング言語に強い情熱を抱く人々が、その戦争の貴重な資料を保存するためにボランティア活動を行っています。

Lispはまだ死んでいません。もちろん、Lispには今も様々なフレーバーが存在します。あるフレーバーは1994年に標準化され、最近のほとんどのOSに対応した堅牢で高速なFOSS実装も存在します…しかし、それはやや殺風景で、テキストのみの環境です。かつては学術界で人気があったSchemeもありますが、実用性には欠けていると言わざるを得ません。そしてもちろん、ハッカーに人気のEmacsの多くは、独自の独特な方言で実装されており、エディタと切り離すことはできません。(洗練されたGUIと開発ツールを備えた商用版もいくつかありますが、この記事を書いているのはReg FOSSデスクであり、私たちはオープンソースのものに興味を持っています。)

ブロガー兼開発者の Steve Yegge による、違いについての私たちのお気に入りの要約は次のとおりです。

このことから、Common Lisp はある種の妥協であり、ある程度の優雅さを欠いていることが推測できます。しかし、これらのツールを結びつけているのは、それらが互いに移植されていることです。つまり、これらは全く異なるコンピュータ設計の流派から生まれたCベースのOS内で動作するLispツールなのです。

戦前、RISCチップや静的コンパイルOSが台頭する以前、CPUの基本アーキテクチャから上まで、完全にLispで構築されたOSがいくつかありました。そのうちの一つは、Bolt, Beranek and Newmanという会社によって開発されました。ご存知ないかもしれませんが、BBNが設計・構築した製品については、きっとご存知でしょう。それが「インターネット」です。(この会社は現在も存続しており、現在はレイセオン傘下にあります。)

BBNのLisp方言はInterlispと呼ばれ、Xerox PARCはそれを採り上げ、有名なXerox Altoの後継ワークステーション群に移植しました。これらのワークステーションは、コードネームがすべてDで始まることからD*マシンと呼ばれていました。Dolphin、Dorado、Dicentra、Dandelion、Dandetiger、Daybreak、そしてDragonflyです。KaislerはDaybreakマシンの使用について語りました。そのLisp版はXerox 1186 AIワークステーション [PDF] として販売されました。1987年にDr Dobb'sがこのマシンについて行った評決は興味深いものです。このバージョンはInterlisp-Dと呼ばれていました。

これらは本格的なキットでした。新品のときはマシン1台の値段が約16,000ドルで、これは現在の価値で約43,500ドルに相当します。BBNの常連客である米国政府のDARPAは、エキスパートシステムの開発のためにこれらのマシンを多数購入しました。有名な例としては、艦隊指揮センター戦闘管理プログラム(FCCBMP)があります。Interlisp環境には、ウィンドウGUI、IDE、そしてLOOPSオブジェクト指向開発システム、Roomsと呼ばれるGUI、Kaislerが「AppleのHypercard以前のHypercard」と評したNotecardと呼ばれる情報管理システムなど、多くの強力なアプリケーションが含まれていました。また、入力エラーをインテリジェントに修正しようとするDWIM(Do What I Mean)と呼ばれるオートコンプリートの前身も注目に値します。

時が経つにつれ、Interlispは汎用性の高い環境へと進化しました。富士ゼロックスの開発者たちは、C言語で書かれたポータブルなVM「Maiko」を開発し、様々なホストプラットフォームで動作させることができました。1990年代には、MS-DOS 4.0上でも動作できるようになりました。多くの先駆的なAI研究がInterlispを用いて行われ、その中にはCycプロジェクトの天才で、最近72歳で亡くなったダグ・レナット氏の初期の研究も含まれています。

  • これが、開発者のIDEからコピー&ペーストを禁止すべき理由です。
  • MIT Lisp Machineソフトウェアのバージョン100が回復されました
  • BBCが再開したマイクロアーカイブで、8ビット時代の無駄な青春時代を再び味わおう
  • 2001年:ストブの冒険

しかし、これらの努力は1990年代のCommon Lispの台頭を食い止めるには十分ではありませんでした。この万能型言語は徐々に市場を席巻し、商用ソフトウェア開発市場から他のほとんどのLisp方言(Emacs Lispを除く)を駆逐しました。ゼロックス社は、既に非常に豊富な機能を備えていたInterlisp環境にCommon Lispを統合することでこれに適応しようとし、Medleyを開発しました。最後のリリースは1992年で、その開発チームはその功績によりACMソフトウェアシステム賞を受賞しましたが、開発はそこで終了しました。

2009年、Medley/Interlispを構築・使用していたプログラマーのグループが集まり、プロジェクトのオープンソース化の許可を得て、Medley Interlispプロジェクトを設立しました。これは、Interlispの復活を目指す米国の501(c)3法人です。これまでに、チームはMaiko VMをK&R CからANSI C89にアップデートすることに成功し、最新のコンパイラでビルドしてWindows、Linux、macOSで実行できるようになりました。また、クラウドホスト版もあり、インストールなしでブラウザで試すことができます。現在、最新の文字セットエンコーディングへの対応、UTF-8への対応、既存のEncapsulated Postscript出力へのPDF出力の追加などに取り組んでいます。

カイスラー氏は、このシステムの歴史的重要性や、現代の開発ツールでは不可能な機能を備えているという点以外にも、保存すべき理由がいくつかあると述べた。例えば、コアシステムに加え、複数の完全なアプリケーションが残されている。パフォーマンスモニターのSPY、テキストエディターのTEdit、構造エディターのSEdit、線画描画パッケージのSketch、トレースおよびコード分析ツールのMasterscope、ファイルマネージャー、Pacmanなどのデモアプリなどが含まれている。また、豊富なドキュメントも提供されており、初期開発チームの一人であるラリー・マシンター氏のサイトでは、オリジナルのマニュアルのスキャン画像が公開されている。

プーチンに反対する署名抗議

ウクライナはロシアによる電力・インフラへの「大規模な」サイバー攻撃を懸念

続きを読む

このハゲタカは開発者ではありません。Lispは史上最も重要なプログラミング言語の一つだと考えているにもかかわらず、ここ数年、Lispを理解できていないようです。オンライン版は試してみたものの、Apple以前のGUIの直系の子孫であるため、直感的にすぐに理解できるものではありません…まあ、大したことは何も。しかし、このプロジェクトは現存する同時代のほとんどのプロジェクトよりも活発に活動しており、開発者が早い段階で移植性を重視したため、1970年代という早い段階で他のオペレーティングシステム上で動作可能になったため、当時のツールのほとんどよりも汎用性が高いと言えます。当然ながら、コードはGithubにあります。

Interlispは、刺激的で魅力的な復元プロジェクトです。Lispの世界を根底から覆すほどのことはなさそうですし、ましてやFranzのAllegroのような商用システムのベンダーを不安にさせるようなことはまずないでしょう。しかし、再び花開くのを見るのは素晴らしいことです。スタックの一部をSBCL上に移行し、VMなしでLinux上で動作させられるようになれば良いのですが、それは夢物語かもしれません。®

* 記事の以前のバージョンでは、編集の過程で誤りが生じたため、スティーブ・カイスラー氏がプロジェクトリーダーであると誤って記載されていました。

Discover More