*Lisp(またはStarLisp)は、Lisp言語の方言であるプログラミング言語です。[ 1 ]これは、1985年にThinking Machines Corporationの2人の従業員、Cliff LasserとSteve Omohundroによって、初期のConnection Machine (CM)をプログラミングするための効率的かつ高水準の言語を提供する方法として考案されました。
コネクションマシンの設計と構築が行われていた当時、そのマシン向けに積極的に開発されていた言語は、PARIS (Parallel Instruction Set )と呼ばれるアセンブリ言語のみでした。マシンをより効率的にプログラミングする方法が早急に必要であることが明らかになりました。並列コンピューティング機能を追加した高水準プログラミング言語Lispの実装であるコネクションマシンLisp (CM Lisp)の完成を待つという選択肢はありませんでした。CM Lispはダニー・ヒリスによって提案され、開発は今後数年間続くと予想されていました。
当初は*Lispインタプリタが開発されました。コネクション マシンで理論的に達成可能なギガFLOPS の速度を実現するには、*Lisp をLispと PARISに変換する*Lispコンパイラが必要であることがすぐに明らかになりました。*Lisp コンパイラは Jeff Mincy によって作成され、1986 年に初めてリリースされました。2 ギガ FLOPS を超えるアプリケーションであるヘリコプターのウェイク シミュレータは、当時United Technologiesの従業員であった Alan Egolfと Thinking Machines の従業員であった JP Massar によって 1987 年に開発されました。 [ 2 ]
標準的な非並列マシンで *Lisp コードを実行するためのエミュレータである *Lisp シミュレータは、 JP Massar によって同時期に開発されました。このシミュレータは現在も存在し[ 3 ] 、2001 年に米国規格協会(ANSI) Common Lisp (CL)に移植されました。オリジナルの CL で書かれた古いバージョンは、カーネギーメロン大学(CMU)の人工知能(AI) リポジトリに存在します。[ 4 ]
機能とパフォーマンスの大幅な向上を伴う後期バージョンの*Lispは、1989年までクリフ・ラッサー、ジェフ・ミンシー、JP・マッサーによって開発されました。*Lispは、1990年から1991年頃にJP・マッサーとマリオ・ブルゴインによってThinking Machines CM5に実装されました。
StarLispはCommon Lisp (CL)で書かれていたため、CLの持つすべての機能を活用できた。コネクションマシンを使用するには、ホストまたはフロントエンドが必要だった。*Lispを使用するには、そのフロントエンドでCLが動作する必要があった。Symbolics社のGeneraを搭載したマシンと、Lucid Inc.のLucid Common Lispを実行するSun Microsystemsのワークステーションは、いずれも*Lispの動作に使用された。
StarLispは並列変数(PVAR)上で動作しました。これらはコネクションマシンのメモリを表し、本質的にはベクトルでした。つまり、 CMプロセッサ(または仮想プロセッサ)ごとに1つの要素がありました。
StarLispは、ベクトル加算や乗算といったPVARに対する標準的な演算に加え、CMの通信ハードウェアを使用してPVARの要素を並べ替え、データを最適にルーティングする通信プリミティブで構成されていた。