| SICStus プロローグ | |
|---|---|
| 原作者 | マッツ・カールソン |
| 開発者 | ライズシックス |
| 初回リリース | 1986年 (1986年) |
| 安定版リリース | 4.9.0 / 2023年12月18日 ( 2023-12-18 ) |
| 書かれた | C、プロローグ |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | 論理プログラミング |
| ライセンス | 独自の |
| Webサイト | sicstus.sics.se |
SICStus Prologは、論理型プログラミング言語PrologのISO準拠の独自実装です。1985年からスウェーデンコンピュータサイエンス研究所によって開発されており 、パフォーマンスとスケーラビリティに重点を置いています。
歴史
1985年頃、スウェーデンコンピュータサイエンス研究所(SICS)が設立され、マット・カールソンがSICSに加わり、PrologのOR並列化研究のためのプラットフォームとなるPrologエンジンの開発に着手しました。この研究は、 SRIインターナショナルのデイビッド・HD・ウォーレン、マンチェスター国立研究所およびアルゴンヌ国立研究所の研究者らが参加した非公式のGigalipsプロジェクト、そしてAND並列化の取り組みの一環として行われました。その結果、AuroraやMUSEといった、かなり成熟したOR並列Prologが誕生しました。これらのPrologの目的は、プログラマにとって透過的なOR並列実行によって効果的な高速化を実現しつつ、Prologを完全にサポートすることでした。これがきっかけとなり、SICSはSICStus Prologを配布し、学術界で急速に普及しました。[1]
SICStusの初期仕様は1986年に存在し、DEC-10 PrologとQuintusからインスピレーションを得ていました。オープンソースであることに加え、DEC-10およびQuintus Prologのデファクトスタンダードとの互換性、非常に優れたパフォーマンス、そしてコンパクトな生成コードが、その人気の大きな理由となりました。実行プロファイリングとネイティブコードコンパイルも後に追加されました。1980年代末には、スウェーデン資金庁と複数の企業がSICStusの産業化に資金を提供し、最終的に商用製品となりました。
1995年までに、SICStusはProlog実装のパフォーマンスに関する事実上の基準と見なされるようになりました。[2]
1998年、SICSはQuintus Prologを買収し、その機能の多くがSICStus Prologの新しいバージョンに取り入れられました。また、強力な有限領域ソルバーを含む複数の制約領域をサポートしています。SICStusのコードベースは現在もSICSによって積極的にメンテナンスされています。[1]
特徴
SICStusは、パフォーマンスと安定性に重点を置いたWarren Abstract Machineに基づくISO準拠のProlog実装です。 [1]また、Webベースのアプリケーションもサポートしています。SICStusは、実数と有理数の制約を解決するための属性変数に基づく制約論理プログラミングライブラリCLP(R)の外部開発実装[3]と、整数の制約を解決するためのCLP(FD)の高性能ネイティブ実装を組み込んで、いくつかの制約ドメインをサポートしています。 [4]コルーチン、属性変数、無制限の整数など、制約ソルバーに不可欠な多くの機能を備えています。ブロックコルーチン宣言は特に効率的です。また、Quintus Prologの多くの特性、機能、ライブラリモジュールも組み込んでいます。リリース4.3以降、SICStusにはネイティブコードへのJIT(ジャストインタイム)コンパイラも含まれていますが、現在のところマルチスレッドやタブリングはサポートされていません。[1]
SICStusには、もともとSWI-Prolog用に開発されたplunit ユニットテストライブラリの修正版と、SPIDERと呼ばれるカスタム統合開発環境が含まれています。[1]
影響
SICStusは多くの商用アプリケーションで使用されており、他の論理プログラミングシステムの基盤としても機能しています。[1] Gigalipsプロジェクトの一部として、SICStusはand並列Prolog実装&-Prologの最初の開発の基盤となり、これは後にCiaoシステムに発展しました。[1] 論理プログラミング言語Gödelのリファレンス実装は1992年頃に初めて登場しましたが、SICStus Prolog上に構築され、異なる構文スタイルを採用していました。[1]
参照
参考文献
- ^ abcdefgh ケルナー、フィリップ;ロイシェル、マイケル。バルボサ、ジョアン。コスタ、ビトール・サントス。ダール、ベロニカ。エルメネジルド、マヌエル V.モラレス、ホセ F.ヤン・ヴィーレメーカー;ディアス、ダニエル。アブレウ、サルバドール。シアット、ジョバンニ (2022)。 「プロローグの50年とその先へ」。論理プログラミングの理論と実践。22 (6): 776–858。土井:10.1017/S1471068422000102。hdl : 10174/33387。ISSN 1471-0684。
- ^ Codognet, Philippe; Diaz, Daniel (1995-06-16)、「wamcc: Prolog から C へのコンパイル」、Logic Programming、The MIT Press、pp. 317– 332、ISBN 978-0-262-29143-9、 2023年12月18日取得
- ^ Holzbaur, Christian (1995). 「OEFAI clp(q,r) マニュアル改訂版 1.3.2」. ÖFAI Technical Reports Online ( 95– 09). 2001年5月20日時点のオリジナルよりアーカイブ。2023年12月18日閲覧。
- ^ Geleßus, David; Leuschel, Michael (2022). 「ProBをSWI-Prologと互換性を持たせる」.論理プログラミングの理論と実践. 22 (5): 755– 769. arXiv : 2205.04373 . doi : 10.1017/S1471068422000230 . ISSN 1471-0684.
さらに読む
- Carlsson, Mats; Mildner, Per (2012). 「SICStus Prolog — 最初の25年間」.論理プログラミングの理論と実践. 12 ( 1–2 ): 35–66 . arXiv : 1011.5640 . doi :10.1017/S1471068411000482. ISSN 1475-3081.
2023年12月16日現在、本記事は、フィリップ・ケルナー、マイケル・ロイシェル、ジョアン・バルボサ、ヴィトール・サントス・コスタ、ヴェロニカ・ダール、マヌエル・V・エルメネジルド、ホセ・F・モラレス、ヤン・ウィレメーカー、ダニエル・ディアス、サルバドール・アブレウ、ジョヴァンニ・シアットが執筆した『Fifty Years of Prolog and Beyond』から、全体または一部を引用しています。著作権者は、CC BY-SA 3.0およびGFDLに基づく再利用を許可する形でコンテンツをライセンスしています。すべての関連規約を遵守する必要があります。