LogtalkはPrologのプログラミング言語へのオープンソースのオブジェクト指向の拡張機能です。オブジェクト指向とイベント駆動型プログラミングと論理プログラミングの統合、それはほとんどのPrologのコンパイラと互換性があります。
Logtalkはプロトタイプとクラスの両方をサポートしています。また、カテゴリ系組成物を通してコンポーネントベースのプログラミングをサポートします。
の特長の:ます。
- 分離インタフェースと実装の間:
- 述語ディレクティブ(宣言)は、任意のオブジェクトによって実装することが可能なプロトコル(インターフェース)、内部に含まれることができます。
- パラメトリックオブジェクト:
- オブジェクト名は、オブジェクトの述語をパラメータに使用することができる自由変数を含む化合物の用語ことができます。
- 両方のクラスベースとプロトタイプベースのシステムのサポート:
- あなたは同じアプリケーション、(インスタンス化と専門化の関係を持つ)クラスベースの階層と(拡張子関係を持つ)プロトタイプベースの階層では、があります。
- 複数のオブジェクト階層のサポート:
- 必要がいくつかの一般的なオブジェクトに根ざしシングル長い階層に拘束されるようにします。
- プライベート、保護され、公共の継承:
- Logtalkは、Cと同様に、民間の保護された、と公共の継承をサポートしています。また、任意のエンティティの関係は、スコープキーワードを使用して修飾することができます。
- プライベート、保護され、公共のオブジェクト述語:
- は、オブジェクトの範囲はあなたのプロトコル設計と一致し、ランタイムシステムは、あなたの選択肢を強制できるように述語を設定します。
- 静的および動的なオブジェクト:
- オブジェクトは、静的または動的のいずれかになります。静的オブジェクトは、Prologファイルと同じ方法でコンパイルし、ロードされたソースファイルで定義されています。動的オブジェクトは、どちらかのソース·ファイルで定義されているか、実行時に作成することができます。
- 静的および動的なオブジェクト述語:
- すべての静的オブジェクトは静的および動的両方の述部を含むことができるます。
- 我々は、標準的なPrologの構文を使用できるように、前処理:
- Logtalkは、滑らかな学習曲線のためのいくつかの演算子とディレクティブを追加して、標準的なPrologの構文を使用します。
- イベント駆動型プログラミング:LI>
スパイイベントが発生したときに<李>述語は、暗黙的に、オブジェクトの結合を最小化するプログラミング·ソリューションを可能に呼び出すことができる。また、イベントは行動の反射のためのサポートを提供します。 - コンポーネント·ベースのプログラミング:LI>
- 述語は、事実上すべてのコードの重複なしに関係なくオブジェクト階層の、すべてのオブジェクトによってインポートすることができるカテゴリ、内部に封入することができる。したがって、オブジェクトは再利用のようなきめの細かい単位コード作用カテゴリに記載の組成物を介して定義することができるます。
- マルチ継承のサポート:
- Logtalkは、プロトコルと実装の両方のマルチ継承をサポートしています。オブジェクトは、複数のプロトコルを実装し、拡張し、専門に、または複数のオブジェクトをインスタンス化することができる。マルチ継承競合がLogtalk検索アルゴリズムによって、または明示的に述語のディレクティブを使用することによって暗黙的に解決されます。
- グッドパフォーマンス:
- Logtalkコードは、効率的なPrologのコードを書くために使用するのと同じテクニクスを使用してコンパイルされている。さらに、この方法ルックアップが大幅にパフォーマンスが向上し、Logtalkランタイムエンジンによってキャッシュされている。いくつかのPrologのコンパイラのベンチマーク結果は、ここから入手できます。
- ISO Prolog標準との緊密な統合:
- はLogtalkは、ISO Prolog標準に準拠または密接に以下のいずれかのPrologのコンパイラとのスムーズな統合のために設計されています。
- Logtalkインタフェースます。
- のXMLドキュメントファイルの自動生成:
- Logtalkごとに自動的にコンパイルされたオブジェクト、プロトコル、またはカテゴリのXML形式のドキュメントファイルを生成します。システムは、(X)HTMLやPDFに文書ファイルを変換するために必要なすべてのXSL(T)ファイルとスクリプトが含まれます。
- Logtalk(メイン開発環境はMacOS Xのを実行しているアップルのPowerBook G4である)のPrologコンパイラとほとんどすべてのコンピュータ上で動作します。 Logtalkおよび特定のPrologコンパイラとの間のインタフェースは、設定ファイルを介して行われるます。
- このファイルには、ISO Prologの規格のためにいくつかのLogtalk特定の述語と実装が含まれPrologのコンパイラでは使用できませ述語ます。
- Logtalkを書面で私は可能な限りのProlog ISO標準に従うことを試みた。 ISO規格のパートIで定義されていないLogtalkによって必要な機能は以下のとおりです。
- アクセス:
- はお気に入りのプロローグに設定ファイルを作ることは非常に簡単です、上記のこれらの機能を有することを条件とする。 Logtalkパッケージには、すでにほとんどの一般的なPrologのコンパイラ用の設定ファイルが含まれています。最適なパフォーマンスを得るために、LogtalkはPrologのコンパイラは、静的および動的なコードの両方のための第一引数のインデックス作成をサポートしている必要があります。
- Logtalkの開発効率向上とテストが現在(アルファベット順)以下のPrologコンパイラを使用して実行されます。
- GNU Prologの1.2.18ます。
- SWI Prologの5.4.7ます。
- YAP 4.5.7ます。
- そのため、これらはおそらく、(あなたがこれらのコンパイラのいずれかを使用して自由であることを提供する)Logtalkを実行するための最良の選択である。
- さらに、Logtalkは、以下のPrologコンパイラ(アルファベット順)とほとんど、あるいはまったく変更を加えて実行されます。
- ALSプロローグ3.1
- AMZI!プロローグ6.22〜7.xの
- BinProlog 8.xの〜10.xの
- B-Prologを4.0、5.0、6.xの
- CIAO Prologの1.10p5ます。
- のEclipse 5.5〜5.8
- IF / Prologの5.xの
- JIProlog 3.0.1-2ます。
- K-Prologの5.1.2aます。
- LPA MacProlog32 1.25ます。
- LPA WinProlog32 4.0のx
- MasterProlog 4.1
- 開くプロローグ1.1b10ます。
- PrologII 4.5
- QU-Prologの6.7
- クインタスプロローグ3.3〜3.5
- SICStusプロローグ3.8〜3.12.xます。
- XSB 2.6〜2.7
ほとんどのPrologのコンパイラとの互換性
ほぼすべての近代的なコンパイラとの互換性を作り、最小限の設定ファイルを経由して特定のPrologコンパイラと
述語の性質(動的、静的、BUILT_IN)に
のこのリリースのの新機能:
- QUOT&呼び出すためのメカニズムを送るメッセージを修正し、前&QUOT。メソッド検索を実行する前に、イベントハンドラ。この変更は、(例えば、メッセージが理解されていない例外をスローするのではなく、失敗する)既存のコードには影響ありませんが、いくつかの興味深いアプリケーションを可能にする必要があります。
- のコンパイル時に/フラグの値を設定ファイルをロードし、/ 2内蔵の述語をset_logtalk_flagを使用した場合との間にコンパイラフラグのより一貫性の取り扱い:どちらの場合も、設定&QUOT、smart_compilation&QUOT。クリーン&QUOT、上のフラグが&QUOTをオフにします。クリーン&QUOT;&QUOTをフラグや設定。 smart_compilation&QUOT、QUOT&オフになります上のフラグ。フラグ。デバッグ&QUOT;関連、&QUOTを設定する。フラグがオフになります両方&QUOT、smart_compilation&QUOT。そして&QUOT、クリーン&QUOT。フラグます。
- は、ソフトカットコントロール構築を可能にしますソフトカットコントロール構築のためのプロローグサポート)します。
- Logtalkコンパイラのバグを修正したとき&QUOT、source_data&QUOT。フラグは、読み取り期間の位置を取得することはできません、バックエンドのPrologコンパイラでオンになってます。
- のみ最初のメタ引数が正しく処理されます。 meta_non_terminal / 1指令のコンパイルのバグを修正しました
- は、Windows 64ビット·システム上で実行するときに検出し、1 / libのディレクティブを前処理する際に非述語と非オペレータの輸出を無視するようにEclipseの設定ファイルを更新します。
- ユニットテストフレームワークは、失敗したユニットテストのために、より有益なメッセージを印刷するように更新します。
- を追加しました述語が&QUOTに(与えられた長さのサブリストにリストを分割するための)/ 4を分割し、listp&QUOT ;,&QUOT;リスト&QUOT ;,および&QUOT、difflist&QUOT。ライブラリ実体ます。
- QUOT&更新しました。CC&QUOT。 CxPrologためのシェル/ 2述語の定義と例します。
- はYAP 64ビットバージョンの検出を妨げ、Windowsのインストーラのバグを修正しました。バグレポートのためのステパンIpatovに感謝します。
- は、インストールディレクトリをカスタマイズからユーザーを防ぐのWindowsインストーラのバグを修正しました。バグレポートのために、バグを診断するためのギャビン·ランバートにダニエルモニスに感謝します。
- XSBの改善された検出のためのWindowsインストーラスクリプトを更新し、Logtalkが既にインストールされているコンピュータ上で管理者以外のユーザーが実行したときにのみ、ユーザーごとのファイルをインストールするためにデフォルトにします。
- はLaTeXの&QUOTための基本的なサポートが追加されました。で追加のメモ&QUOT、鋳造&QUOT。そして&QUOT、texmates&QUOT。 LaTeXのパッケージます。
- Textastic iPadのテキストエディタで追加のメモします。
- はウルトラエディットテキストエディタのための基本的な構文の色分けやコードの折りたたみサポートを追加します。
- TextMateがTextMateは2.0の開発版で導入された自動インデントの修正を無効にするには、バンドルを更新します。
ネイティブにバックエンドのPrologコンパイラでサポートされている場合は、GNUを議論しながら、ダニエル·ディアスによって発言の後に(文法規則の本体で使用されるように、/ 2; - (&GT *)
MI&QUOT; <李は>&QUOT内のオブジェクトの名前を変更しました。例のユニットテストを実行しているときの例では、名前の競合を避けるためにします。
リスト&QUOT;パッケージ
のバージョン2.44.0のの新機能は次のとおりです。
- 両方にパッチを可能にするために補完カテゴリのセマンティクスを変更しました述語宣言と補完オブジェクトの述語の定義。これは、その述語の宣言と定義ルックアップが補完オブジェクト自体に、またはそれに関連するエンティティに探して前に補完カテゴリで開始を確実にすることによって達成されます。
- オフのカテゴリを補完するためのサポートでコンパイルされた補完オブジェクトに対して補完カテゴリをコンパイルするときに警告を生成するために、Logtalkコンパイラを更新します。
- は、呼び出し元のコンテキストがQUOT、&に設定されることになろうメタ述語のメタコールの処理のバグを修正しました。この&QUOT。代わりに&QUOTの、送信者&QUOT。メタ引数は:: / 2の1、{}だったときはいつでも/ 1、
のバージョン2.43.3に新しいのは何ですか。
- の使用を考慮に入れるようにコンパイラに変更/反射組み込みメソッドの呼び出しをコンパイルする2指令。この変更は、用途/ 2ディレクティブの意味を拡張し、無地のPrologアプリケーションからLogtalkへ簡単に移行できます。
- スコープ/ 1プロパティを追加し、predicate_property / 2ビルトインメソッドの実装を更新します。
- ソースファイル名、ソースファイルディレクトリ、および生成されたプロローグファイルへのソースファイルのコンパイラオプションについての情報を追加するLogtalkコンパイラを更新しました。ソースファイルをロードするときに以前のバージョンでは、この情報は登録されていた。変更がLogtalkライブラリが事前にコンパイルおよび事前ロードされているアプリケーションの構築を簡素化します。
- のソースファイルをコンパイルするとき&QUOTで使用されるフックオブジェクトの名前を印刷するLogtalkコンパイラを更新しました。コンパイラフラグが定義されています。
- ビルトインデバッガが/ 1の実装を撤回呼び出しが確定的にする論理的な更新のセマンティクスを活用するために失敗したバックエンドのPrologコンパイラによって作成された不要な選択肢点を避けるためにします。 更新しました
- 実体の存在の例外を投げるときに、内部のエンティティ識別子を逆コンパイルに失敗したLogtalkコンパイラのランタイムハンドラのバグを修正します。
- 内部Logtalkランタイムテーブルによって使用される動的述語の一部についてインデックス/ 1ディレクティブを追加、リーンPrologの設定ファイルを更新します。
- ジャストインタイムの多引数のインデックス作成のための新しい実験SWI-Prologのサポートによって非難されたインデックス/ 1指令、の可用性をテストするためのSWI-Prologの統合ファイルを更新します。
- が追加され(与えられた長さのリストのサブシーケンスを生成するための)サブシーケンス/ 4を述語、(リスト内の要素を交換するための)/ 4を代入して、hamming_distance / 3; listp&QUOT。そして&QUOT;リスト&QUOT。実体ます。
- を追加しましたeuclidean_norm / 2、chebyshev_norm / 2、manhattan_norm / 2、euclidean_distance / 3、chebyshev_distance / 3、manhattan_distance / 3、およびライブラリ&QUOTにscalar_product / 3述語、numberlistp&QUOT。そして&QUOT、numberlist&QUOT。実体ます。
- ライブラリ&QUOTを更新しました。all_loader.lgt&QUOT。また&QUOTをロードするためのローダー·ファイル、meta_compiler_loader.lgt&QUOT。ローダーファイルます。
フック&QUOT;
ライブラリ&QUOTに
キャラクター&QUOT; <李は>&QUOTの定義の中にいくつかの愚かなバグを修正しました。ライブラリオブジェクト述語is_bin_digit / 1は、/ 1をis_dec_digit、およびis_hex_digit / 1、/ 1をis_octal_digitます。
のバージョン2.43.1に新しいのは何ですか。
- の使用を考慮に入れるようにコンパイラに変更/ 2ディレクティブデータベース組み込みメソッドの呼び出しをコンパイルするとき。この変更は、用途/ 2ディレクティブの意味を拡張し、無地のPrologアプリケーションからLogtalkへ簡単に移行できます。
- coinductive / 1ディレクティブの引数として述語テンプレートを使用するための実験的なサポートが追加されました。このテンプレートは、引数がcoinductive成功のために意味のあるものを指定できます。 Feliks KluzniakのDRAメタインタプリタ上で見つかった同様の機能に基づきます。
- ビルトインデバッガLogtalkを使用する場合にcoinductive述語をデバッグするための改善されたサポートします。
- はCxProlog用coinductionのサポートを削除しました。このコンパイラの現在のバージョンは、現在実験的なcoinductionの実装によって必要とされている内蔵の述語または対照構築ソフトカットを、欠けてます。
- は目標引数は^ / 2存在記号を使用することができたときにbagof / 3およびSETOF / 3の組み込みメソッドのラッパー·述語のユーザー定義を防ぐ長年の制限を解除します。
- &QUOTのサポートが追加されました。^&QUOT。メタ述語のメタ引数モード指定子ヤンWielemakerによって提案されたとSWI-Prologの5.11.25に見られる。目標引数は^ / 2存在記号を使用することができたときにbagof / 3およびSETOF / 3組み込みメソッドのラッパーを定義する場合、このモード指定子は便利ですします。
- 追加&QUOT、prolog_compiler&QUOT。そして&QUOT、prolog_loader&QUOT。内蔵のディスクにコンパイルして(コンパイル)Prologのフラグをロード述語バックエンドのPrologコンパイラにオプションを渡すことが可能コンパイラフラグ、。両フラグのデフォルト値は空のリストです。
- はバグを修正しました。このバグは、EclipseなどのいくつかのバックエンドのPrologコンパイラで自身を明らかにします。
- 条件付きコンパイルディレクティブの処理のバグを修正しました。
- CREATE_OBJECT / 4への呼び出し、CREATE_CATEGORY / 4、およびcreate_protocol / 3組み込み述語にエイリアス/ 3ディレクティブを渡してないバグを修正します。
- から削除組み込みオブジェクト&QUOT、logtalk&QUOT。 decompile_predicate_head / 4およびdecompile_predicate_indicator / 4、非推奨の方法します。
- 長い非推奨Logtalkのmetapredicate / 1ディレクティブのために取り出しサポートします。
- パフォーマンスのバグを修正します。
- QUOT&のキャッシングを改善しました。試作品の中から呼び出します。セルフ&QUOT、以前は、すべてのキャッシュされたエントリは&QUOTの値によって専門にされるであろう。適切にオブジェクトの両方をインスタンス化し、他のオブジェクトを専門とする特殊なケースに対応するためでます。
- ディレクティブが含まれているエンティティのコンパイル時に述語スコープディレクティブで見つかった任意の演算子の宣言を有効にするにはLogtalkコンパイラを更新します。
- ソフトカット制御構造物を提供するが、ソフトなカットを提供していないようなSICStusプロローグなどのバックエンドのPrologコンパイラを使用してcoinductive述語のパフォーマンスの向上内蔵のメタ述語(/ 3の場合)。
- はソースファイルがコンパイラフラグ&QUOTでロード/コンパイルされたとき、コンパイル/ロード警告のスプリアス報告書を印刷することができたバグを修正しました。レポート&QUOT。オフにします。
- &QUOTが追加されました。streamvars&QUOT。 assignvars&QUOT、既存&QUOTから派生ライブラリオブジェクト;ストリーム&QUOT;&QUOTから(変数の場合もある)の用語を追加し、検索するためのサポートをフィーチャーライブラリカテゴリ;変数ます。
- QUOT&更新しました。coinduction&QUOT。たとえば、強化されたcoinductive / 1指令を活かしとSICStusプロローグを使用して実行することができ、個々の例の数を拡大。ネダSaeedloeiによって寄与coinduction、coroutining、および制約を使用して、例をモデル検査を追加しました。
- QUOT&更新しました。metapredicates&QUOT。メタ引数は存在的修飾された変数を含むことができるときbagof / 3およびSETOF / 3組み込みメソッドのラッパーを定義する方法を説明するためのサンプル·コードで例します。
- QUOT&更新しました。CC&QUOT。たとえば、いくつかのバックエンドのPrologコンパイラのための述語の定義を修正し、いくつかの基本的なユニットテストを追加します。
- QUOT&更新しました。エンコード&QUOT。リーンプロローグのための限定的なサポートを持つ例します。
- meta_non_terminal / 1ディレクティブのと&QUOTの呼び出し// N非端末の不足しているエントリを追加しました。QUOTヘルプ&。例します。
- はロバートササックによって寄与PDDL 3.0ファイルのパーサを、追加しました。
- ライブラリパスがLogtalkコンパイラ/ランタイムをロードする前に、ファイルをロードするために、統合スクリプトを更新しました。この変更は、設定ファイルからライブラリと例ファイルのロードを単純化することを目指しています。 LOGTALKHOME環境変数が定義されていないときに加えて、$ HOME /シェアのLogtalkのインストールディレクトリを探します。提案のためのVAtorサントス·コスタに感謝します。
- はリーンプロローグをサポートし、YAP 64ビットバージョンを検出するために、Windowsのインストーラを更新します。
内蔵のLogtalkコンパイラが目標として非メタ引数を処理しようとする可能性メタ述語Prologの独自の呼び出しをコンパイルするときに
パラメトリックカテゴリで作業する場合、キャッシュされたエントリーが必要以上に具体的な可能性がカテゴリ述語の呼び出しをキャッシュする場合
スーパー&QUOT;
<李は>のSubEthaEditテキストエディタにコード折りたたみサポートを追加しました。ケイトは、VimとTextMateのテキストエディタに条件付きコンパイルブロックのサポートを折りたたみコードを追加します。
のバージョン2.43.0に新しいのあるもの:ます。
- リーンプロローグのための実験的なサポートが追加されました。李>
- Logtalkコンパイラとランタイムで変更エラー報告。すべての例外条項は、現在使用して、可能な限り、エラー(エラー、logtalk(ゴール、エンティティ))
- の形式。 、いつでも実用的な、新しい '$のlgt_must_be' / 2-3内部の述語を使用することを確認し、内部エラーに変更します。
- &QUOTが追加されました。QUOT最適化&。そのデフォルト値&QUOTなるフラグ;上&QUOT ;.このフラグは、ユーザーが例えばのために、既存の最適化をオフにすることができますデバッグタスク(
- 現在実装の最適化は、コンパイルされた述語句のボディからの真/ 0への冗長呼び出しの除去との除去が含まれます。
- 冗長呼び出します。
- &QUOTが追加されました。source_data&QUOT。そのデフォルト値&QUOTなるフラグ;上&QUOT ;.このフラグは、QUOTを&に設定して、上の&QUOT ;, Logtalkモード/ 2を使用して表現された情報を維持します、します。
- 情報/ 1-2 / 2を使用し、use_module / 2ディレクティブプラスます。 をデバッグするための両方に便利(ソースファイル名と行番号を含む)を元の位置データ、
- と開発ツールとの統合のために。このフラグは、よりコンパクトなコードを生成するためにオフにすることができる。 parameter_names / 1オブジェクトとします。
- は、オブジェクト、プロトコル、およびカテゴリの1とプライベート/ 1プロパティ/保護された実装されています。一緒に1 /パブリックプロパティで、これらのプロパティは
- はエンティティで宣言された述語の一覧は、反射の計算のためにアクセスすることができます。実装は、李> / 3、/ 2を定義し、/ 2を宣言する
- と実体内で宣言と定義されている述語のプロパティにアクセスするために/ 3プロパティを提供します。宣言プロパティはLINE_COUNT / 1、述語スコープ指令の行番号が含まれています。定義プロパティはLINE_COUNT / 1、最初の の先頭の行番号が含まれる
- 述語句、およびnumber_of_clauses / 1、述語のための句の数。また、実験的な用途/ 3およびuse_module / 3プロパティを実装します。
- が再定義される述語の定義を含むオブジェクトまたはカテゴリを問い合わせることができ、述語プロパティ、redefined_from / 1を追加しました。
- &QUOTにloaded_file / 3述語を追加しました。logtalk&QUOT。内蔵の既存のloaded_file / 2述語を補完します。 にアクセスすることができますオブジェクト、
- 明示的なオプションが使用されます。
- は内蔵の非末端meta_non_terminal / 1指令とコール// Nに対するコンパイラサポートを実装します。
- 文法規則の非ターミナルスコープと存在のエラーに対処するためのサポートを除去することによって、文法規則のコンパイルを簡素化します。
- の代わりに述語レベルのレベル。文法規則のデバッグ時にこの機能が役立つことができたが、それはPrologのネイティブ開発ツールでLogtalkの統合を複雑にします。
- エンティティ句の場所を保存し、Prologのコンパイラのバックエンドに、この情報を利用できるようにするためにLogtalkコンパイラを更新します。
- ダイナミックエンティティのための述語の宣言と定義テーブルのために不必要な内部キャッチオール条項を生成しないようにするためにLogtalkコンパイラを更新します。
- オブジェクトのカプセル化を破壊するためマルチファイルの述語を使用して排除するためにLogtalkコンパイラを更新しました。主要宣言します。
- エンティティは、スコープと述語のためのマルチファイルのディレクティブの両方を含む、存在している必要があります。加えて、マルチファイルのための句を定義します。
- エンティティ::のFunctor /アリティ対応するマルチファイル/ 1ディレクティブは今、単にコンパイルエラーの代わりに警告します。 になりますなし
- は宣言された述語への呼び出しの前に1 /不連続とダイナミック/ 1ディレクティブを強制Logtalkコンパイラの制限を削除します。
- 文法規則における非端末へのスペルミスの呼び出しのLogtalkコンパイラのレポートの改善ます。
- の使用を許可。
用途/ 2ディレクティブで指定されたメッセージをデバッグするときは - 、メッセージは、現在のユーザによって書かれたソースコードのように、暗黙的に修飾印刷されます。
- との統合を容易にするために、内蔵のマルチスレッド述語の実装で使用される内部の述語を変更しました
- 高レベルのデバッグツールます。
- は同期化された述語を呼び出す実体述語のコンピレーションにLogtalk 2.42.4で導入されたバグを修正しました。このバグは呼び出します。 の結果
- はスレッド目標の偶発故障に現れるだろう述語の非同期フォームに代わりに行われます。
- カテゴリ内の実行時にコンパイルされたメタ呼び出しはオブジェクトの述語の呼び出します。 としてコンパイルされることになる長年のバグを修正しました
- ローカルカテゴリ述語の呼び出しとして代わりにカテゴリをインポートします。
- はset_logtalk_flag / 2ディレクティブを使用してローカルに設定エンティティフラグの値が実体 に保存する失敗していました長年のバグを修正しました
- コンパイルされたコードます。
- を訂正長年のバグがなければ成功だろう。
- は述語は、実際に廃止されます。
- のコンテキストで実行時のコンパイルを必要とするメタ引数を呼び出すときに、正しい実行コンテキストの設定のバグを修正しました
- &QUOT、送信者&QUOT;ます。
- モジュールの資格がします。 からドロップされることになる場所のメタ述語をモジュールに明示的な修飾のコールのコンパイルのバグを修正しました
- コンパイルしたコール。これらの呼び出しはLogtalkメタ述語のセマンティクスを使用することに注意してください(すなわち、メタ引数は のコンテキストで呼び出されます
- 呼び出し側)します。
- 李>を使用している場合coinductionスタックが初期化されなかったバグを修正しました
文法規則の展開によって生成条項の身体から(=)/ 2)に
<李>カテゴリプロパティは、冗長性を避けるために削除されます。
ファイルがコンパイルされ、ロードされたときに
/ 1制御文法規則の本体に構築します。
生成されたプロローグコードの逆コンパイルを必要とする
/ 1法を廃止する非プロトタイプオブジェクトの動的な述語を廃止
代わりに通常のPrologのモジュールメタ述語のセマンティクスの
のバージョン2.42.4のの新機能は次のとおりです。
- このバージョンでは、コンパイラ、ランタイム、およびマルチを含みパフォーマンスの最適スレッディング、同期/ 1、ダイナミック/ 1ディレクティブのコンパイラエラーメッセージを改善したファイルを文書化し、オペレータスコープ情報を保存し、自動的に生成されたXMLにこの情報を出力するためのサポートが追加され、logtalkオブジェクトに新しいユーティリティ述語を追加して、いくつかのプログラミングを改善例、Windows上SWI-Prologのアンインストーラのバグの回避策が含まれており、屈原-Prologのための移植性の更新、SICStusプロローグ、SWI-Prologの、XSB、およびYAPを備えています。
- はサポートが不足しているダイナミック/ 1、不連続/ 1ディレクティブを検出し、報告するために追加されました。
- 新しい糸くずフラグが追加されました。
- 二メタ述語コンパイルバグが修正されました。
- の例のいくつかが更新されました。
- ポータビリティ更新は、B-プロローグ、SICStusプロローグ、SWI-Prologの、XSB、およびYAPのために作られたします。
このバージョンでは、動的な述語を呼び出すためのサポートが追加されます。
のバージョン2.42.3にの新機能である&QUOTの文脈;この&QUOT。カテゴリ内から、プリコンパイルされた句の頭のサポートが追加され、組み込みのデバッガにバグ修正と改善が含まれ、改善されたライブラリと例が含まれ、SICStusプロローグCLP(FD)ライブラリを使用する際にindexicalsのサポートを追加し、実験例を追加しますオブジェクトやカテゴリーに帰属する変数を使用して、およびEclipse、GNUプロローグ、SICStusプロローグ、およびSWI-Prologのための移植性の更新を備えています。
このバージョンでは、述語をモジュールに呼び出しのコンパイルを向上させます。
のバージョン2.42.2のの新機能である、メタ述語の呼び出しで、メタ引数のチェックが改善ラムダ式のサポートを改善し、ライブラリのメタ述語への呼び出しのための最適化コンパイラが含まれ、改善され、時間的間隔の関係での作業、および整数カウンタを使用して、ログイベント用に新しいライブラリを追加します例とライブラリを既存の、JavaScriptベースのSyntaxHighlighterパッケージを使用するためのサポートを追加し、GNU Prologの、屈原-プロローグ、SICStusプロローグ、SWI-Prologの、およびXSBのための可搬性の更新を備えています。
このバージョンでは、新たなメタ述語モードのサポートが追加されています。
のバージョン2.42.1のの新機能である内蔵のメタ述語よりPrologの独自のサポートを可能にする指標、します。
コメントが見つかりません