Poplogは、リフレクティブでインクリメンタルコンパイル型のソフトウェア開発用コンピュータプログラミング統合開発環境およびシステムプラットフォームであり、 POP-11、Common Lisp、Prolog、Standard MLといったプログラミング言語 に対応しています。元々は英国のサセックス大学で人工知能の教育と研究のために開発され、後にソフトウェア開発、教育、研究向けの商用パッケージとして販売されました。英国政府が資金提供するAlveyプログラムによって一時的に支援された取り組みの一つでもあります。
当初は1982年から1999年までプロプライエタリソフトウェアとしてライセンス供与されていたが、1999年にMITライセンスとXFree86ライセンスを組み合わせた形でオープンソースソフトウェアとしてリリースされた。
POP-11の実装にProlog用のインクリメンタル コンパイラが追加された後、拡張されたシステムが両方の言語でのプログラミングをサポートしていることを反映して、POPLOG という名前が採用されました。この名前は、後に (1980 年代半ば)、Poplog 仮想マシンで新しい言語を実装するためのツール セットに基づいてCommon LispとStandard ML用のインクリメンタル コンパイラでシステムが拡張されたときにも、サセックス大学の商標として保持されました。 [ 1 ]これらすべての言語のコンパイラを追加できるユーザーがアクセスできるインクリメンタル コンパイラ ツールは、新しいテキストを古いテキストのより長い部分と同等にするだけの標準マクロでは追加できない新しい機能を提供するために、言語内で拡張を行うこともできます。
1983 年以降しばらくの間、Poplog は、所有権の変更に伴い社名が変更された Systems Designers Ltd (SDL) によって、サセックス大学に代わって商用製品として国際的に販売およびサポートされていました。主な開発作業は 1998 年までサセックス大学の小規模チームによって続けられ、マーケティング、販売、サポート (英国の学術ユーザーを除く。英国の学術ユーザーはサセックスチームと直接やり取りしていた) は 1991 年まで SDL とその後継会社 (SD、SD-Scicon、Electronic Data Systems (EDS) [ 2 ]によって行われました。その時点で、経営陣による買収により、Integral Solutions Ltd (ISL) というスピンオフ会社が設立され、サセックス大学と協力して Poplog の販売とサポートを行うようになりました。サセックス大学は「Poplog」という名称の権利を保持し、商用製品であった間はコアソフトウェア開発を担当しました。1992 年、ISL とサセックス大学は Poplog の売上高 500 万ドルを称えられ、「スマート賞」を受賞しました。[ 3 ] ISL とその顧客は、多くの開発プロジェクト、特に ISL のデータマイニングシステム Clementine に Poplog を使用しました。Clementine は主に POP-11 で実装され、X Window System上で動作する POP-11 で実装された強力なグラフィカルツールを使用しています。Clementine は非常に成功したため、1998 年に ISL は、統計およびデータマイニングパッケージSPSSを販売していたSPSS Incに買収されました。SPSS は、専門家と非専門家のユーザーに適したより優れたグラフィカルインターフェイスを必要としていました。SPSS は Poplog をそのまま販売およびサポートすることを望まなかったため、Poplog はその後、無料のオープンソースソフトウェアパッケージとして利用可能になりました。[ 4 ]バーミンガム大学がホストしており、同大学は 1991 年以降開発にも関わっていました。後にIBM がSPSS を買収し、Clementine は現在SPSS Modelerとして販売およびサポートされています。[ 5 ]
Poplogのコア言語はPOP-11です。これは他の言語の実装に使用され、それらはすべて共通の統合エディタを備えたインクリメンタルコンパイル方式で実行されます。Linux/Unix版では、POP-11はXを介した2Dグラフィックスをサポートしています。
Poplogは、 Common Lisp、POP-11、Prolog、およびStandard MLのインクリメンタルコンパイル版をサポートしています。Robin Popplestoneによって実装された別のパッケージは、Schemeのバージョンをサポートしています。
Poplogは、人工知能の学術研究や教育だけでなく、Clementine以外にもいくつかの商用製品の開発にも使用されてきました。1992年、ISLとサセックス大学は、Poplogの売上高が500万米ドルを超えたことを認められ、ICPミリオンダラー賞を受賞しました。[ 6 ]
POP-11は、1976年にDEC PDP-11コンピュータに初めて実装され、 1980年にVAX / VMSに移植されました。1982年頃にPoplogとなりました。最初の商用販売はVAX/VMS向けでしたが、1980年代半ば以降、Poplogの主な開発作業はSolarisを実行するSun SPARCコンピュータで行われました。ただし、 HP-UX版やDigital UNIXを実行するDEC Alpha向けの64ビット版など、いくつかの異なるバージョンが販売されました。1999年頃、Poplogが無料のオープンソースとして利用可能になった後、64ビットLinuxへの移植を含め、ほとんどの開発作業はLinux版で行われました。PowerPC上のMac OS Xへの部分的な移植は2005年に行われました。
Clementineをサポートするために開発されたWindows版が存在するが、Unix/LinuxのグラフィカルサブシステムはWindows Poplogでは動作しない。ClementineのWindows版は、Windows上でX機能をサポートする商用パッケージに依存していた。
また、Windowsを含むプラットフォームに依存しないPoplogのバージョンを作成することを目的としたオープンソースプロジェクト[ 7 ]も存在します。このプロジェクトの最新の開発には、Poplogアプリケーションに統合するためのWebサーバーコンポーネントと、Webブラウザで実行されるクライアントユーザーインターフェイスをサポートするOpenPoplogウィジェットコレクションが含まれています。より限定されたオープンソースのPoplogプロジェクト(64ビットAMD64/X86-64アーキテクチャに限定)は、Waldek HebischによってGitHub上にセットアップされました。これは現在、バーミンガム大学でホストされているPoplogバージョン16の基盤となっている。。
Poplog の歴史と機能に関する追加情報は、POP-2とPOP-11のエントリに記載されています。Poplog の主任設計者であり、増分コンパイルされたシステムの移植性を高め、さまざまな言語のサポートを提供する多くの革新を担当したのは、サセックス大学のジョン・ギブソンでしたが、初期の作業はスティーブ・ハーディが行いました。クリス・メリッシュは、POP-11 における Prolog の初期実装に協力しました。ジョン・ウィリアムズは、ジョナサン・カニンガムの指導の下で Common Lisp サブシステムを実装しました。ロバート・ダンカンとサイモン・ニコルズは Standard ML を追加しました。1980 年頃から 1991 年頃まで、このプロジェクトはアーロン・スローマンによって管理されていましたが、彼はバーミンガム大学に移籍した後も、サセックス大学と ISL と Poplog の開発で協力し続けました。1999 年以降、彼は Poplog のメイン Web サイトと、POP-11 の下に記載されているいくつかの拡張機能を担当しています。
Poplog の Prolog サブセットは、 Poplog の中核言語であるPOP-11の拡張可能なインクリメンタルコンパイラを使用して実装されています。POP-11は、より一般的な構文を持つ汎用 Lisp ライクな言語です。この実装では、Prolog の継続、変数、Prologトレイル(取り消し可能な変数バインディングの記録)、および Prolog 項をサポートするために、Poplog 仮想マシンを拡張する必要がありました。この実装は、データ構造を他の Poplog 言語、特にPOP-11とCommon Lispと共有できるようにする必要性によって制約を受け、それによってさまざまなプログラミングスタイルに対応できるようにしました。