| 原作者 | マッツ・カールソン |
|---|---|
| 開発者 | ライズシックス |
| 初回リリース | 1986年 |
| 安定リリース | 4.9.0 / 2023年12月18日 |
| 書かれた | C、プロローグ |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | 論理プログラミング |
| ライセンス | 独自 |
| Webサイト | sicstus.sics.se |
SICStus Prolog は、論理プログラミング言語Prologの独自のISO 準拠実装です。1985 年以来、スウェーデン コンピュータ サイエンス研究所によって開発されており 、パフォーマンスとスケーラビリティに重点を置いています。
歴史
1985 年頃、スウェーデン コンピュータ サイエンス研究所(SICS) が設立され、Mats Carlsson が SICS に参加して、Prolog のor 並列化の研究プラットフォームとなるPrologエンジンを開発しました。この作業は、 SRI InternationalのDavid HD Warrenとマンチェスターおよびアルゴンヌ国立研究所の研究者、およびand 並列化の取り組みを含む非公式の Gigalips プロジェクトのコンテキストで実行されました。その結果、Aurora や MUSE などの非常に成熟した or 並列 Prolog が生まれました。これらの Prolog の目的は、完全な Prolog をサポートしながら、プログラマーにとって透過的な or 並列実行によって効果的なスピードアップを実現することでした。これがきっかけで、SICS は SICStus Prolog を配布し、学術環境で急速に普及しました。[1]
SICStus の予備仕様は 1986 年に存在し、DEC-10 Prolog とQuintusからインスピレーションを得ています。オープンソースであることに加え、DEC-10 および Quintus Prolog の事実上の標準との互換性、非常に優れたパフォーマンス、コンパクトな生成コードが、その人気の大きな理由でした。実行プロファイリングとネイティブ コードのコンパイルも後に追加されました。80 年代の終わりに、スウェーデン資金庁といくつかの企業が 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テクニカル レポート オンライン(95–09)。
- ^ 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日現在、この記事は、Philipp Körner、Michael Leuschel、Joao Barbosa、Vitor Santos Costa、Veronica Dahl、Manuel V. Hermenegildo、Jose F. Morales、Jan Wielemaker、Daniel Diaz、Salvador Abreu、Giovanni Ciatto 著のFifty Years of Prolog and Beyondから一部または全部を引用しています。著作権者は、 CC BY-SA 3.0およびGFDL の下で再利用を許可する方法でコンテンツをライセンスしています。関連するすべての条件に従う必要があります。
