| ビジュアルプロローグ | |
|---|---|
| パラダイム | マルチパラダイム:論理的、関数的、オブジェクト指向、命令型、宣言型、汎用的、並行的 |
| 開発者 | PDC A/S |
| 安定版リリース | 11 ビルド 1105 / 2024年1月11日 ( 2024-01-11 ) |
| タイピングの規律 | 静的、強い、推測された |
| OS | ウィンドウズ |
| ライセンス | 独自の |
| Webサイト | ビジュアルプロローグ |
Visual Prolog は、以前はPDC PrologおよびTurbo Prologとして知られていましたが、 Prologの強力な型付けオブジェクト指向拡張です。Borland社によって Turbo Prolog (1986年にバージョン1.0、1988年にバージョン2.0)として販売されました。現在は、Visual Prolog を最初に開発したデンマークの企業 PDC 社によって開発および販売されています。Visual Prolog は、Microsoft Windows GUIアプリケーション、コンソールアプリケーション、DLL(ダイナミックリンクライブラリ)、およびCGIプログラムを構築できます。また、COM コンポーネントやODBCを介してデータベースにリンクすることもできます。
Visual Prologには、 x86およびx86-64マシンコードを生成するコンパイラが含まれています。標準的なPrologとは異なり、Visual Prologで記述されたプログラムは静的型付けされています。これにより、一部のエラーは実行時ではなくコンパイル時に検出されます。
歴史
| バージョン | 新機能 |
|---|---|
| バージョン11 | 非同期プログラミングのための中断述語を導入する[ 1 ] |
| バージョン10 | オブジェクト式、マスター/スレーブプロセスのサポート、Microsoft Edge webView2コントロール、およびDirect2D + DirectWrite + Windows Imaging Componentのサポートが導入されています。[ 2 ] |
| バージョン9 | 境界付き多態性、拡張述語、スレッドセーフなロックフリーファクトデータベース、名前付きパラメータを導入する。[ 3 ] |
| バージョン8 | デバッガや実行中のプログラムでよりユーザーフレンドリーなデータ表示を行うプレゼンターを導入しました。[ 4 ] |
| バージョン7.5 | httpサーバーとLALR(1)パーサージェネレーターが含まれています。[ 5 ] |
| バージョン7.4 | 64ビットWindowsコードを生成できる。[ 6 ] |
| バージョン7.3 | ジェネリッククラスとインターフェース(ジェネリックプログラミングを参照)、ガード付きモニターを導入した。[ 7 ] |
| バージョン7.2 | 匿名述語(匿名関数の論理的派生語)と名前空間を導入した。[ 8 ] |
| バージョン7.0 | パラメトリック多態性を導入しました。 |
| バージョン6.0以降 | この言語は完全にオブジェクト指向になっています。 |
ハノイの例
ハノイの塔の例では、Prolog推論エンジンは、中心を通過点として、徐々に小さくなる任意の数の円盤を積み重ね、左の極から右の極へと、記述された方法で、一度に1枚ずつ移動させる方法を導き出します。これにより、小さい円盤の上に大きい円盤が重なることはありません。述語は、hanoi円盤の数を示す整数を初期引数として受け取ります。
class hanoi predicates hanoi : ( unsigned N ). end class hanoi implement hanoi domains pole = left ; center ; right . clauses hanoi ( N ) :- move ( N , left , center , right ). class predicates move : ( unsigned N , pole A , pole B , pole C ). clauses move ( 0 , _ , _ , _ ) :- ! . move ( N , A , B , C ) :- move ( N - 1 , A , C , B ), stdio :: writef ( "ディスクを % pole から % pole へ移動します\n " , A , C ), move ( N - 1 , B , A , C ). end implement hanoi goal console :: init (), hanoi :: hanoi ( 4 ).受付
BYTEのブルース・F・ウェブスターは1986年9月、Turbo Prologを称賛し、Turbo Pascalと同じくらい彼を興奮させた最初のボーランド製品だと述べた。彼はユーザーインターフェースと低価格を気に入り、BYUの教授2名が大学で使用していたPrologよりも優れていると述べたと報告した。ウェブスターは、この言語の市場需要に疑問を呈しつつも、「Turbo Prologは、3年前のTurbo Pascalと同じくらいソフトウェア設計に大きな飛躍をもたらすかもしれない」と結論付け、「人工知能、データベース、エキスパートシステム、あるいはプログラミングに関する新しい考え方に少しでも関心のある」人々に推奨した。[ 9 ]同月号の別の著者は、この言語の非標準的で構造化された構文により、「ソースリストが標準的なPrologよりもはるかに読みやすくなる」と記した。ウェブスターは、Turbo Prologには「多くの優れた機能」があると述べつつも、「コンパイラのTurbo Pascal風味と強力なデータ型…が、言語のアイデンティティ問題を引き起こしている」と述べた。著者はこれを「Turbo Paslog」と表現し、「真剣にPrologプログラマーを目指しているなら推奨しない」と結論付けている。[ 10 ]同誌は1989年にTurbo Prolog 2.0をBYTEアワードの「優秀賞」受賞作品の一つに挙げ、ボーランドが「実世界のアプリケーションプログラミングのためのシステムを開発した」ことを高く評価した。[ 11 ]
Visual Prologに関する書籍
- Thomas W. de Boer, Visual Prolog初心者ガイド
- エドゥアルド・コスタ、Tyros のビジュアルプロローグ
- ジョバンニ・トレロ、ヴィジュアル・プロローグ・パー・プリンシピアンティイタリア語113 ページ (pdf)
- ランドール・スコット著『Visual Prologによる人工知能ガイド』ISBN 978-1-4327-4936-1
参照
参考文献
- ^ Visual Prolog 11 の新機能
- ^ Visual Prolog 10 の新機能
- ^ Visual Prolog 9 の新機能
- ^ Visual Prolog 8 の新機能
- ^ Visual Prolog 7.5 の新機能
- ^ Visual Prolog 7.4 の新機能
- ^ Visual Prolog 7.3 の新機能
- ^ Visual Prolog 7.2 の新機能
- ^ウェブスター、ブルース・F.(1986年9月)「2つの素晴らしい製品」 BYTE誌335ページ。
- ^シャマス、ナミール・クレメント (1986 年 9 月)。 「ターボプロローグ」。バイト。 p. 293.
- ^ 「BYTEアワード」 BYTE 、 1989年1月、327ページ。