Prolog ist eine Allzweck-Logik Programmiersprache, die im Jahr 1972 veröffentlicht wurde wieder mit sehr wenigen Updates seit.
Logtalk wurde erstellt modernere Funktionen Prolog hinzuzufügen, vor allem Performance-Verbesserungen, Lambda-Ausdrücke, Grammatikregeln, verbesserte Compiler-Fehler und Warnmelde.
An der Spitze dieser, fügen Sie eine einfachere Installation und Prolog-Compiler Kompatibilität Updates.
Das macht Logtalk eine bessere, geeignete Alternative zu Prolog in modernen AI und Computerlinguistik Szenarien, ein viel leistungsfähiger Multi-Paradigma Sprache, geeignet für die ereignisgesteuerte und High-Level-Multi-Threading-Programmierung.
Derzeit Logtalk Syntax erweitert Standard Prolog Syntax und Sie können Logtalk auf diesen Prolog-Compiler laufen:
B-Prolog
CxProlog
ECLIPSE
GNU Prolog
Lean Prolog
Qu-Prolog
SICStus Prolog
SWI Prolog
XSB
YAP
Was ist neu in dieser Version:
- VERBESSERT:
- Änderungen an den Begriff Tags verwendet, wenn kompilierten Code zu schreiben, um die Größe der erzeugten Zwischen Prolog-Dateien, die diese Tags verwenden, minimieren zu entscheiden, wann kompiliert Begriffe mit Quellenort Daten zu dekorieren (derzeit nur SWI-Prolog nutzt die Standortdaten).
- FIXED:
- Eine Datei kann mehr als eine übergeordnete Datei.
Was ist neu in der Version 3.02.2:
- VERBESSERT:
- Änderungen an den Begriff Tags verwendet, wenn kompilierten Code zu schreiben, um die Größe der erzeugten Zwischen Prolog-Dateien, die diese Tags verwenden, minimieren zu entscheiden, wann kompiliert Begriffe mit Quellenort Daten zu dekorieren (derzeit nur SWI-Prolog nutzt die Standortdaten).
- FIXED:
- Eine Datei kann mehr als eine übergeordnete Datei.
Was ist neu in der Version 3.02.1:
- VERBESSERT:
- Änderungen an den Begriff Tags verwendet, wenn kompilierten Code zu schreiben, um die Größe der erzeugten Zwischen Prolog-Dateien, die diese Tags verwenden, minimieren zu entscheiden, wann kompiliert Begriffe mit Quellenort Daten zu dekorieren (derzeit nur SWI-Prolog nutzt die Standortdaten).
- FIXED:
- Eine Datei kann mehr als eine übergeordnete Datei.
Was ist neu in der Version 3.00.4:
- VERBESSERT:
- Änderungen an den Begriff Tags verwendet, wenn kompilierten Code zu schreiben, um die Größe der erzeugten Zwischen Prolog-Dateien, die diese Tags verwenden, minimieren zu entscheiden, wann kompiliert Begriffe mit Quellenort Daten zu dekorieren (derzeit nur SWI-Prolog nutzt die Standortdaten).
- FIXED:
- Eine Datei kann mehr als eine übergeordnete Datei.
Was ist neu in der Version 3.00.2:
- VERBESSERT:
- Änderungen an den Begriff Tags verwendet, wenn kompilierten Code zu schreiben, um die Größe der erzeugten Zwischen Prolog-Dateien, die diese Tags verwenden, minimieren zu entscheiden, wann kompiliert Begriffe mit Quellenort Daten zu dekorieren (derzeit nur SWI-Prolog nutzt die Standortdaten).
- FIXED:
- Eine Datei kann mehr als eine übergeordnete Datei.
Was ist neu in der Version 3.00.1:
- VERBESSERT:
- Änderungen an den Begriff Tags verwendet, wenn kompilierten Code zu schreiben, um die Größe der erzeugten Zwischen Prolog-Dateien, die diese Tags verwenden, minimieren zu entscheiden, wann kompiliert Begriffe mit Quellenort Daten zu dekorieren (derzeit nur SWI-Prolog nutzt die Standortdaten).
- FIXED:
- Eine Datei kann mehr als eine übergeordnete Datei.
Was ist neu in der Version 2.44.1:
- Sie einen Fehler bei der Zusammenstellung des meta_non_terminal Korrigierte / 1 Richtlinie, wo nur die erste Meta-Argument würde richtig verarbeitet werden.
- Die Eclipse-Konfigurationsdatei aktualisiert zu erkennen, wenn unter Windows 64-Bit-Systemen laufen und nicht-Prädikat und nicht-Operator Exporte als Vorbearbeitung lib / 1 Richtlinien. zu ignorieren
- Aktualisiert Rahmen der Unit-Test mehr informative Nachrichten für gescheiterte Unit-Tests zu drucken.
- hinzugefügt Prädikat Split / 4 (für eine Liste in Teillisten mit einer bestimmten Länge aufgeteilt) an die & quot; listp & quot ;, & quot; Liste & rdquo ;, und & quot; difflist & quot; Bibliothek Einheiten.
- Aktualisiert die & quot; cc & quot; Beispiel mit einer Definition für die Shell / 2 Prädikat für CxProlog.
- geändert, um die Namen der Objekte in der & quot; mi & quot; Beispiel einen Namenskonflikt zu vermeiden, wenn die Beispiel Unit-Tests ausgeführt werden.
- Korrigierte Installationsprogramm einen Fehler in der Windows die Erkennung von YAP 64 Bit-Versionen verhindert. Dank Stepan Ipatov für den Fehlerbericht.
Was ist neu in der Version 2.44.0:
- Diese Version, die Semantik von ergänzenden Kategorien ändert, so dass seine Verwendung vorhandenen Objektcode zu flicken, behebt zwei Fehler bei der Verarbeitung von Meta-Anrufe erlaubt, offene Listen von Terminals im Körper von DCG Regeln, fügt zwei neue Beispiele und verbessert die Unterstützung für die Vim Texteditor und für Exuberant ctags.
Was ist neu in der Version 2.43.3:
- ein Fehler in der Logtalk Compiler Runtime-Handler behoben, bei dem es Versagens von internen Einheits-Identifikationen zu dekompilieren, wenn Einheit Existenz Ausnahmen werfen.
- , um die Lean Prolog-Konfigurationsdatei aktualisiert, index / 1 Richtlinien für einige der dynamischen Prädikate, die von den internen Logtalk Laufzeittabellen hinzugefügt wird.
- Aktualisiert die SWI-Prolog Integration Dateien für die Verfügbarkeit des Index / 1 Richtlinie zu testen, die durch den neuen experimentellen SWI-Prolog Unterstützung veraltet just-in-time-Multi-Argument Indizierung.
- hinzugefügt Prädikate Teilfolge / 4 (für Teilfolgen einer Liste mit einer bestimmten Länge zu erzeugen), ersetzen / 4 (für den Ersatz von Elementen in einer Liste) und hamming_distance / 3 in die Bibliothek & quot; listp & quot; und & quot; Liste & quot; Einheiten.
- hinzugefügt euclidean_norm / 2, chebyshev_norm / 2, manhattan_norm / 2, euclidean_distance / 3, chebyshev_distance / 3, manhattan_distance / 3 und scalar_product / 3 Prädikate in die Bibliothek & quot; numberlistp & quot; und & quot; Nummer Liste & quot; Einheiten.
- Korrigierte einige dumme Fehler in der Definition des & quot; Zeichen & quot; Bibliotheksobjekt Prädikate is_bin_digit / 1, is_octal_digit / 1, is_dec_digit / 1, und is_hex_digit / 1.
- Aktualisiert die Bibliothek & quot; all_loader.lgt & quot; loader-Datei zu laden auch die & quot; meta_compiler_loader.lgt & quot; Loader-Datei.
Was ist neu in der Version 2.43.2:
- die Verarbeitung von Operatordeklarationen optimiert, wenn die Quelldateien kompilieren und dynamisch neue Einheiten zu schaffen.
- die Logtalk Compiler aktualisiert die & quot zu verwenden; Module & quot; Compiler-Flag bei der Prüfung für die Prolog-Modul-Unterstützung, so Kompilation Probleme mit Back-End-Prolog-Compiler zu vermeiden, die nicht ein Modulsystem unterstützt, aber immer noch zu definieren (:). / 2 als integrierter Steuerung Konstrukt oder Prädikat
- Entfernte Unterstützung für die & quot; startup_message & quot; Compiler-Flag & quot; Flags (kompakt) & quot; und & quot; Flags (ausführlich) & quot; Werte, durch einen einzigen Wert ersetzt, & quot; Flags & quot ;, die zu dem alten & quot entspricht; Flags (kompakt) & quot; Wert.
- ein Bug behoben, wenn sie mit den create_protocol / 3, create_object / 4, und create_category / 4 Einbau-Prädikate op / 3-Richtlinien mit denen die lokalen Betreiber Erklärungen außerhalb der neuen Einheiten sichtbar sein würde.
- behoben, bei dem ein Fehler eine neue dynamische Einheit zur Laufzeit zu schaffen würde nicht mehr verwendet Buchhaltung dynamische Prädikat definieren, die nicht abgeschafft werden, wenn das Unternehmen abgeschafft wird.
- Korrigiert ein Compiler Fehler, bei dem ein & quot; Super & quot; rufen Sie innerhalb eines Objekts, das sich nur instanziiert und nicht spezialisieren, jedes Objekt würde eine Ausnahme, statt Fehler zu werfen.
- Aktualisiert die & quot; Benchmarks & quot; beispielsweise um gegen Arithmetikausnahmen zu schützen, wenn für jeden Test die Gesamtzahl von Anrufen pro Sekunde berechnen. Reduzierte die Anzahl der Benchmark-Test Wiederholungen, wenn die Unit-Tests laufen zu vermeiden lange Rechenzeiten mit langsamen Back-End-Prolog-Compiler.
Was ist neu in der Version 2.43.1:
- Changed der Compiler zu berücksichtigen, die Verwendungen / 2 Richtlinie, wenn Anrufe auf die Datenbank integrierte Methoden zu kompilieren. Diese Änderung erweitert die Semantik der Anwendungen / 2-Richtlinie und ermöglicht eine einfachere Migration von einfachen Prolog Anwendungen Logtalk.
- experimentelle Unterstützung hinzugefügt, Prädikat Vorlage als Argument an die coinductive / 1 Richtlinie für die Verwendung. Diese Vorlage ermöglicht die Angabe welche Argumente für coinductive Erfolg sinnvoll sind. Auf der Grundlage ähnlicher Funktionalität auf Feliks Kluzniak des DRA Meta-Interpreter gefunden auf.
- Verbesserte Unterstützung für das Debuggen von coinductive Prädikate, wenn die Logtalk mit integrierten Debugger.
- Entfernt coinduction Unterstützung für CxProlog. Die aktuelle Version dieser Compiler fehlt ein Soft-Cut integriertes Prädikat oder Kontrollkonstrukt, das nun durch die experimentelle coinduction Implementierung erforderlich ist.
- Lifted eine langjährige Einschränkung, dass die Benutzerdefinition von Wrapper-Prädikate für die bagof / 3 und SETOF / 3 integrierten Methoden verhindert, wenn das Ziel Argument der ^ / 2 Existenzquantor verwenden.
- Unterstützung für die & quot; ^ & quot; Meta-Prädikat Meta-Argument Modus Bezeich von Jan Wielemaker und fand auf SWI-Prolog 5.11.25 vorgeschlagen. Dieser Modus Spezifizierer ist nützlich, wenn Wrapper für die bagof / 3 und SETOF / 3 integrierten Methoden definieren, wann immer das Ziel Argument der ^ / 2 Existenzquantor verwenden.
- hinzugefügt & quot; prolog_compiler & quot; und & quot; prolog_loader & quot; Compiler-Flags, die Optionen an den Back-End-Prolog-Compiler integrierte in Prädikate zu übergeben, auf der Festplatte erstellen und laden ein (kompiliert) Prolog-Flagge. Der Standardwert für beide Flags ist die leere Liste.
- Ein Fehler wurde korrigiert, wenn Anrufe zu Prolog proprietäre integrierte in meta-Prädikate kompilieren, wo der Logtalk Compiler könnte versuchen, nicht meta-Argumente als Ziele zu verarbeiten. Dieser Fehler manifestiert nur selbst mit einigen Back-End-Prolog-Compiler wie Eclipse.
- Korrigiert einen Fehler bei der Verarbeitung von bedingten Kompilierungsdirektiven.
- ein Bug behoben, alias / 3 Richtlinien über Anrufe an die create_object vorbei verhindert / 4, create_category / 4, und create_protocol / 3 Einbau-Prädikate.
- Entfernt von der eingebauten Objekt & quot; Logtalk & quot; die decompile_predicate_head / 4 und decompile_predicate_indicator / 4 veralteten Methoden.
- Entfernte Unterstützung für die lange veraltet Logtalk metapredicate / 1-Richtlinie.
- eine Performance Bug korrigiert, wenn Anrufe Kategorie Prädikate das Caching, wo die im Cache gespeicherten Einträge als nötig präziser sein könnte, wenn sie mit parametrischer Kategorien arbeiten.
- Verbesserte Cache-Speicherung von & quot; Super & quot; Anrufe von innerhalb Prototypen. Selbst & quot; vorher alle gespeicherten Eingaben würden durch den Wert von & quot spezialisiert werden; um mit den speziellen Fällen richtig zu behandeln, in denen ein Objekt beide Instantiiert und andere Objekte spezialisiert ist.
- Aktualisiert den Logtalk Compiler alle Betreiber Erklärungen über Prädikat Umfang Richtlinien bei der Erstellung der Einrichtungen, die die Richtlinien enthalten gefunden zu aktivieren.
- die Leistung der coinductive Prädikate verbessert, wenn Back-End-Prolog-Compiler wie SICStus Prolog verwenden, die die Soft-Cut-Kontrollkonstrukt nicht bieten, aber die Soft-Cut-Einbau-meta-Prädikat (wenn / 3) zur Verfügung stellen.
- einen Fehler behoben, bei dem eine falsche Bericht der Kompilierung / Laden Warnungen gedruckt werden könnte, wenn eine Quelldatei kompiliert wurde / geladen mit dem Compiler-Flag & quot; Bericht & quot; ausgeschaltet.
- hinzugefügt, um eine & quot; streamvars & quot; Bibliotheksobjekt, aus dem bestehenden & quot abgeleitet; assignvars & quot; Bibliothek Kategorie, mit Unterstützung für das Hinzufügen und Abrufen von Bedingungen (welche Variablen sein kann) von einem & quot; Strom & quot; Variable.
- Aktualisiert die & quot; coinduction & quot; Beispiel Vorteil der verbesserten coinductive / 1 Richtlinie, die die Anzahl der einzelnen Beispiele zu erweitern, die SICStus Prolog verwendet werden kann, ausgeführt werden. Es wurde ein Modellbeispiel Überprüfung, mit coinduction, coroutining und Einschränkungen.
- Aktualisiert die & quot; metapredicates & quot; Beispiel mit Beispielcode veranschaulicht, wie Wrapper für die bagof / 3 und SETOF / 3 integrierten Methoden zu definieren, wenn die Meta-Argument existentiell qualifizierte Variablen enthalten.
- Aktualisiert die & quot; cc & quot; Beispiel Korrektur Prädikat Definitionen für mehrere Back-End-Prolog-Compiler und das Hinzufügen von ein paar grundlegende Unit-Tests.
- Aktualisiert das & quot; Codierungen & quot; Beispiel mit begrenzter Unterstützung für Lean Prolog.
- hinzugefügt fehlende Einträge für die meta_non_terminal / 1-Richtlinie und für den Anruf // N Nicht-Terminal auf der & quot; Hilfe & quot; Beispiel.
- hinzugefügt PDDL 3.0-Dateien, mit Beiträgen Robert Sasak einen Parser für.
- Added Code Unterstützung für den SubEthaEdit Texteditor zu falten. Hinzugefügt Code-Folding-Unterstützung für die bedingte Kompilierung Blöcke zu den Kate, Vim und Textmate Texteditoren.
- Aktualisiert die Integration Skripte, um die Bibliothekspfade Datei zu laden, bevor Sie den Logtalk Compiler / Laufzeit geladen werden. Diese Änderung zielt darauf ab, Laden von Bibliotheken und Beispieldateien aus den Einstellungen Dateien zu vereinfachen. Darüber hinaus sehen auch für die Logtalk Installationsverzeichnis in $ HOME / Aktie, wenn die LOGTALKHOME Umgebungsvariable nicht definiert ist.
- , um den Windows-Installer aktualisiert, um Lean Prolog unterstützen und YAP 64 Bit Versionen erkennen.
Was ist neu in der Version 2.43.0:.
- hinzugefügt experimentelle Unterstützung für Lean Prolog
- Entfernt die Logtalk Compiler Einschränkung, dass discontiguous / 1 und dynamische / 1 Richtlinien gezwungen Anrufe zu den erklärten Prädikate vorangehen.
- der Logtalk Compiler Bericht von misspelt Anrufe an Nicht-Terminals in Grammatikregeln verbessert.
- Lassen Sie die Nutzung des. / 1 Steuerung auf den Körper von Grammatikregeln konstruieren
- Wenn Debug-Meldungen in Anwendungen / 2-Richtlinien festgelegt, wird die Nachricht nun implizit qualifiziert wie in den Quellcode geschrieben durch den Benutzer. gedruckt
- geändert, um die interne Prädikate in der Umsetzung der integrierten Multi-Threading Prädikate verwendet, um die Integration mit High-Level-Debugging-Tools zu erleichtern, die Dekompilierung des erzeugten Prolog-Code erforderlich.
- einen Fehler in der Bibliothek Unterstützung für Unit-Tests wurde korrigiert, & quot;. Lgtunit & rdquo ;, wo Tests für Ausnahmen als konform zu den Unit-Test-Spezifikationen jede Ausnahme Begriff würde akzeptieren
- Aktualisiert die & quot; cc & quot; Beispiel mit Fehlerkorrekturen und Verbesserungen für ECLIPSE von Joachim Schimpf beigetragen, mit einem Bug-Fix für die SWI-Prolog Umsetzung des expand_path / 2 Prädikat (resultierend aus den jüngsten Änderungen an der SWI-Prolog absolute_file_name / 3 Einbau-Prädikat) und mit eine Definition für den command_line_arguments / 1 Prädikat für B-Prolog.
- Aktualisiert die & quot; coinduction & quot; Beispiel Zugabe noch einige einzelne Beispiele.
- Aktualisiert die & quot; xml_parser & quot; Beitrag, um die Portabilität Probleme mit GNU Prolog zu umgehen.
- Correct ein Bug in einigen Shell-Skripten, wo & quot; #! / Bin / bash & quot; ! Anstelle von & quot verwendet; #! / Bin / bash & quot ;. Dank Yiorgos Adamopoulos für den Fehlerbericht.
- die Inno Setup-GUI Windows-Installer-Skript aktualisiert, um die vollständige Installation von Nicht-Admin-Benutzer zu ermöglichen.
- hinzugefügt Syntaxcoloring Unterstützung für die ISO-Prolog-Richtlinie enthalten / 1 für alle unterstützten Text-Editoren und Syntaxhervorhebungen.
- wurde korrigiert einige Fehler auf der Registerkarte Trigger für die Gedit Logtalk Schnipsel, die ihre Verwendung verhindert werden.
- geändert zurück zur Verwendung von XEP anstelle von FOP, wenn die PDF-Versionen der Benutzer- und Referenzerzeugungs Handbücher als FOP den Inhalt von einigen der Seiten abschneidet.
Was ist neu in der Version 2.42.4:
- ein entity_prefix / 2 Prädikat und zwei Sätze Hinzugefügt von Dienstprogramm Prädikate, decompile_predicate_heads / 2-4 und decompile_predicate_indicators / 2-4, auf die & quot; Logtalk & quot; Einbau-Objekt. So bezeichnete der decompile_predicate_head / 4 und decompile_predicate_indicator / 4 als veraltet.
- Zusätzliche Unterstützung der Bereichsinformationen für die Betreiber für die Erhaltung erklärt während der Kompilierung Umfang Direktiven. Es wurden Informationen über Unternehmen erklärt Betreiber in die XML-Dokumentation Dateien. Aktualisiert den Text, PDF, und (X) HTML-Konvertierung Skripten Operator Informationen auszudrucken.
- Angewandte mehrere Low-Level-Optimierungen an den Logtalk Compiler / Laufzeit.
- die internen Prädikate bewegt, dass das Prädikat Ausführungskontext von dem Compiler den Prolog-Konfigurationsdateien, um zu konstruieren und Zugriff auf genaue Performance-Tuning zu unterstützen, die Prolog-Compiler abhängig ist.
- Aktualisiert die Umsetzung des Gewinde / 1 Multi-Threading integriertes Prädikat, um eine kleine Performance-Optimierung auf den term_variables / 2 integriertes Prädikat vorgeschlagen von Timon Van Overveldt basieren. Diese Optimierung zielt darauf ab, unnötige Kopie und Vereinheitlichung der Begriffe zu reduzieren. Darüber hinaus ersetzen die Verwendung des setup_call_cleanup / 3 Einbau-Prädikat mit dem Fang / 3 Einbau-Prädikat durch Umgang mit beiden Master und Slave-Threads vereinfacht, was auch die Leistung verbessert.
- ein Fehler in der Implementierung des Gewinde / 1 Multi-Threading integriertes Prädikat behoben, bei dem Ausfall vom Anwender unabhängige Ziele zu spezifizieren, wenn unabhängig zu nutzen versuchen und Parallelität in Zombie-Threads führen würde.
- Weitere informative Ausnahme Begriffe, wenn versucht wird, eine synchronisierte Prädikat als dynamische oder ein dynamisches Prädikat zu erklären, wie synchronisiert.
- Aktualisiert die XSB-Konfigurationsdatei, um die Erstellung von Modulen als Objekte zu unterstützen. Es wurde eine Definition für den setup_call_catcher_cleanup / 4 integriertes Prädikat fehlt. XSB 3.3 (oder eine neuere Version) ist nun erforderlich für die Kompatibilität mit Logtalk.
- Aktualisiert die SWI-Prolog-Konfigurationsdatei, um eine begrenzte Unterstützung für die arithmetic_function / 1 proprietäre Richtlinie (arithmetische Funktionen wie globale kompilieren, anstatt auf die Objekte oder Kategorien von als lokale definieren sie) zur Verfügung zu stellen.
- die YAP config-Datei aktualisiert, um die style_check / 1 Richtlinie zu ignorieren und die yap_flag / 2 Richtlinie als set_prolog_flag / 2-Richtlinie. zu interpretieren
- geändert das Standard-XSL-FO-Prozessor (verwendet, um die PDF-Versionen der Benutzer- und Referenzhandbücher erzeugen) von XEP zu FOP.
- Aktualisiert die & quot; xml_parser & quot; Beitrag, um die Portabilität Probleme mit Qu-Prolog, SICStus Prolog und XSB. Umgehung
- Aktualisiert das & quot; Codierungen & quot; beispielsweise um zu gewährleisten, dass die nicht Leerzeichen dort vor der Codierung / 1-Richtlinie ist.
- Aktualisiert die & quot; attvars & quot; Beispiel, um B-Prolog und XSB zu unterstützen. Auch Unterstützung für zugeschrieben Variablen innerhalb Logtalk parametrischer Objekte und parametrischer Kategorien verwenden. Dank Jan Wielemaker, Vator Santos Costa, und Bart Demoen für Feedback und Umsetzung Vorschläge.
- Aktualisiert die & quot; Profilometer & quot; Beispiel mit vorläufige Unterstützung für die Änderungen der Ausführungs Profilierung in SICStus Prolog Version 4.2.
- Aktualisiert die & quot; Erweiterung & quot; Beispiel mit Beispielcode, wie TERM und ziel Expansion Definitionen aus verschiedenen Haken Objekte zu kombinieren.
- Aktualisiert die & quot; coinduction & quot; B. durch Hinzufügen eines experimentellen keysort / 2 coinductive Prädikat. Dank Jan Burse für den Vorschlag.
- Aktualisiert die & quot; tak & quot; Multi-Threading-Beispiel, wo eine fehlende Schnitt in schnell erschöpfen den lokalen Stack führen würde, bei der Verwendung von SWI-Prolog durch die Schaffung einer sehr großen Anzahl unnötiger Wahl Punkte.
- Aktualisiert die & quot; mtbatch & quot; Multi-Threading Beispiel erweitert, um das Benchmarking der & quot bereitzustellen; tak & quot; Beispiel.
- Aktualisiert die MacPorts Portfile und das Skript, das es um aktualisiert die Berechnung der MD5-Prüfsumme zu entfernen, die von MacPorts auslaufen wird.
- die Inno Setup-GUI Windows-Installer-Script, um einen Fehler auf der SWI-Prolog auf Windows Installer aktualisiert Umgehung, wo die Deinstallation nicht die SWI-Prolog-Schlüssel aus der Windows-Registrierung zu löschen.
Was ist neu in der Version 2.42.3:
- Allow dynamisch in eine Kategorie erklärt Prädikate genannt werden in & quot; das & quot; innerhalb der Kategorie. In früheren Versionen würde solche Anrufe in einem Fehler bei der Kompilierung, zwingt diese Prädikate & quot genannt zu werden, selbst & quot; (Mit dem :: / 1 Nachricht Senden von Steuer Konstrukt).
- Added Logtalk Compiler-Unterstützung für vorkompilierte Klausel Köpfe (mit der {} / 1 Kontrollkonstrukt). Diese Funktion meist dann sinnvoll ist, wenn der Begriff-Erweiterungsmechanismus.
- Korrigiert auf dem Code einen Fehler, der die Prädikat Klauseln, die durch die Zusammenstellung von Grammatikregeln vereinfacht. Der Code würde Schleife, wenn eine Grammatikregel eine Meta-Variablen enthalten, die der Logtalk Compiler sollte (aber noch nicht) Bericht als illegal (der Anruf / 1 Kontrollkonstrukt sollte stattdessen auf diesem Fall verwendet werden).
- Vereinfachte die Zusammenstellung der Anrufe im Zusammenhang mit der Pseudo-Objekt & quot; user & quot;.
- ein Debugger-Befehl & quot hinzugefügt; zum Logtalk integrierten Debugger. Dieser Befehl druckt das aktuelle Ziel, den Druck / 1 Prädikat, wenn verfügbar mit. Umbenannt den Debugger Befehl & quot; q & quot; auf & quot; Q & quot ;. Wurde ein Fehler behoben, wo der Debugger-Befehl & quot; w & quot; würde nicht erkannt werden. Changed die Debugger-Befehl & quot; d & rdquo; Begriffe zu zitieren, wenn notwendig.
- Es wurde eine teilweise Umsetzung des ISO-Prolog predicate_property / 2 Prädikat in das Eclipse-Konfigurationsdatei.
- Aktualisiert die SWI-Prolog-Konfigurationsdatei, um die fehlerhafte Deklaration der Bibliothek meta-Prädikate dde_register_service / 2, Zeit / 1, und wenn / 2 als Einbau-meta-Prädikate. zu entfernen
- einen Bug-Fix auf die & quot angewendet wird; Beitrag zur Verfügung gestellt durch den Autor, Theofrastos Mantadelis. Umgehung ein Kompatibilitätsproblem mit GNU Prolog.
- Es wurde ein memberchk / 2 Prädikat in die Bibliothek & quot; setp & quot; Protokoll und & quot; gesetzt & quot; Objekt. Hinzugefügt Prädikate is_control / 1, is_newline / 1, und is_end_of_line / 1 in der Bibliothek & quot; characterp & quot; und & quot; Zeichen & quot; Einheiten.
- ein experimentelles Beispiel für die Verwendung zugeschrieben Variablen innerhalb Logtalk Objekten und Kategorien hinzugefügt. Derzeit erfordert die Verwendung von YAP oder SWI-Prolog als Back-End-Prolog-Compiler.
- Unterstützung für indexicals zum & quot; Zwänge / SICStus & quot; Beispiel.
- Erweitert die & quot; Delegierten & quot; Beispiel mit einer Beispielimplementierung eines delegator ein parametrisches Objekt verwenden.
- Erweitert die & quot; dynpred & quot; beispielsweise um zu veranschaulichen, wie Kategorie Prädikate zu definieren, die dynamische Prädikate in Zusammenhang mit & quot behandeln; dies & quot; und im Zusammenhang mit der & quot; Selbst & quot;.
- Es wurde ein wall_time / 1 Prädikat zum & quot; cc & quot; Beispiel.
- Aktualisiert die Syntax-Hervorhebung Testdateien und fügte hinzu, true / 0 und Fail / 0 Kontrollstrukturen fehlt.
p & quot;
Fahnen & quot;
Was ist neu in der Version 2.42.2:
- die Logtalk Compiler aktualisiert, um zu ermöglichen, überprüft Modul Prädikateigenschaften, ohne dass die Prädikate in & quot zu importieren; user & quot; (Beachten Sie jedoch, dass das Modul noch vor der Erstellung von Quelldateien geladen werden, muss das Modul Prädikate Aufruf).
- die Logtalk Compiler aktualisiert, um zu überprüfen, Compiler-instanziiert Schließung Argumente auf Abruf / 2-N Ziele für gemeinsame Programmierfehler.
- die Logtalk Compiler aktualisiert, um Warnungen für Lambda-Ausdrücke mit Variablen generieren, die nicht entweder als freie Variablen oder Lambda-Parameter oder mit Variablen deklariert werden, die sowohl als freie Variablen und Lambda-Parameter deklariert werden. Dank Jan Burse für diese Plausibilitätsprüfungen hindeutet.
- Aktualisiert die Logtalk Laufzeit, um mit der & # x3c zu unterstützen; & # x3c; / 2 bauen Kontrolle in Schließung Meta-Argumente von meta-Prädikate .
- Unterstützung für die Erstellung Free / Goal Lambda-Ausdruck Gespräche (durch automatisch ein Hilfsprädikat, wann immer möglich zu erzeugen).
- Es wurde ein compile_aux_clauses / 1 öffentliche Methode, basierend auf einem Prädikat mit dem gleichen Namen in SWI-Prolog, mit dem eingebauten Objekt & quot; Logtalk & quot ;. Diese Methode wird in der Regel von goal_expansion / 2 Haken genannt, um Hilfsklauseln für die Unterstützung eines erweiterten Ziel erzeugt zu kompilieren.
- hinzugefügt die Meta-Prädikat ignorieren / 1, die von einigen Prolog-Compiler als integriertes Prädikat realisiert, als Logtalk integrierte Methode.
- Aktualisiert die SWI-Prolog-Konfigurationsdatei, um das automatische Laden von Modulbibliotheken zu verhindern, wenn Prädikateigenschaften von Logtalk abfragen.
- die Qu-Prolog, SICStus Prolog und XSB-Konfigurationsdateien, um das Prädikat zu machen Aktualisiert verfügbar term_variables / 2 als ISO-Einbau-Prädikat.
- Aktualisiert die Qu-Prolog Integration Skripte, um die Heap-Größe Wert für die Erstellung der Logtalk Compiler / runtime, die Lösung eines Startup-Absturz zu verdoppeln.
- Wiederhergestellte die MacOS X Kommandodatei für GNU Prolog (nach oben aus dem & quot; scripts / macosx / command_files / nicht unterstützt & quot; Ordner).
- hinzugefügt Prädikate findall_member / 4-5 in die Bibliothek Objekt & quot; meta & quot; (Basierend auf Richard O'Keefe Entwurf Prolog Bibliothek Vorschlag). Entfernt Erklärung und Definition der Prädikate aufrufbar / 1 und ignorieren / 1 aus der Bibliothek Einheiten & quot; MetAP & quot; und & quot; meta & quot; (Aufrufbar / 1 ist ein integriertes Prädikat in allen unterstützten Prolog-Compiler, ignorieren / 1 ist nun ein Logtalk integrierte Methode) .
- Es wurde ein Bibliotheksobjekt & quot; meta_compiler & rdquo ;, das als ein Haken Objekt verwendet werden kann in der Bibliothek Objekt & quot definiert Anrufe an die Meta-Prädikate zu erweitern; meta & quot; um die Metaruf Gemeinkosten zu vermeiden. Aus diesen Fällen, in denen die Meta-Prädikat Aufruf der Standard-Definition auf der & quot nicht optimiert werden können,; meta & quot; Objekt verwendet wird. Mit Kontrollstrukturen als Meta-Argumente ist (noch) nicht unterstützt. Work in progress.
- Es wurde ein Protokoll, & quot; loggingp & rdquo ;, und Kategorie und Objektimplementierungen, & quot; Logging & quot; und & quot;. Logger & rdquo ;, deklarieren und definieren grundlegende Funktionen für die Ereignisse, um Dateien in der Bibliothek anmelden
- Es wurde ein Protokoll, & quot; intervalp & rdquo ;, und ein Objekt, & quot; Intervall & rdquo ;, erklärt und grundlegende zeitliche Intervall Beziehungen zu der Bibliothek zu definieren (basierend auf dem James F. Allen Intervallalgebra Arbeit) .
- Es wurde eine Kategorie mit dem Namen integer Zähler Implementierung, & quot;. Zähler & rdquo ;, in die Bibliothek
- hinzugefügt Prädikate proper_prefix / 2 und proper_suffix / 2 an die Bibliothek Einheiten & quot; listp & quot ;, & quot; Liste & rdquo ;, und & quot; difflist & quot;.
- hinzugefügt Prädikat transponieren / 2 in die Bibliothek Objekt & quot; Paare & quot;.
- hinzugefügt zwei Pseudo-Beispiele für Testzwecke, & quot; lambdas_compiled & quot; und & quot; metapredicates_compiled & rdquo ;, die Verwendung des neuen Bibliotheksobjekt machen
- & quot; meta_compiler & quot;.
- Aktualisiert die & quot; Erweiterung & quot; Beispiel, um zu zeigen, wie zu definieren und Haken Objekte kombinieren.
- Zusätzliche Unterstützung für die Verwendung der Syntax Paket (Version 3.0.83 oder höher) von Alex Gorbatchev mit Logtalk Quellcode.
- fehlende Syntax-Einfärbung des else / 0 bedingte Kompilierung Richtlinie zur GNU Source-highlight highlighter-Unterstützung hinzugefügt.
- Hinzugefügt am freien MacOS X Kod Texteditor eine Notiz auf der Logtalk Textbearbeitung Unterstützung zur Verfügung.
- hinzugefügt Syntaxcoloring Unterstützung für die neue ignorieren / 1 integrierte Methode für alle unterstützten Text-Editoren und Syntaxhervorhebungen.
Was ist neu in der Version 2.42.1:
- Zusätzliche Unterstützung zum Logtalk Compiler für das Erfassen und Melden dynamisch / 1 und discontiguous / 1 Prädikat Richtlinien fehlen.
- ein neues Flusen Flagge & quot hinzugefügt; missing_directives & rdquo ;, mit einem Standardwert von & quot; Warnung & rdquo ;, auf alle Konfigurationsdateien. Dieses Flag ermöglicht das Drucken von Compiler-Warnungen für dynamische / 1, discontiguous / 1 und Multifile / 1 Prädikat Richtlinien fehlen.
- Unterstützung für neue Meta-Prädikat-Template-Anzeigen: (/) für ein Prädikat Indikator, [/] für eine Liste von Prädikats Indikatoren und [0] für eine Liste von Zielen .
- ein Fehler in der Logtalk Compiler korrigiert, wenn für Fehler, bei denen die & quot Meta-Prädikat-Klausel Köpfe Überprüfung; :: & quot; Meta-Argument Modusanzeige wurde noch als & quot interpretiert werden; 0 & quot;.
- ein Fehler in der Behandlung von Verschlüssen korrigiert (in meta-Anrufe), die Anrufe werden verwendet, um bauen zu steuern Konstrukte oder Einbau-Prädikate, die in Aufrufen einige Meta-Argumente im falschen Kontext führen könnte. Dank Ulrich Neumerkel für die Veranschaulichung Beispiel in der SWI-Prolog-Mailingliste.
- die Logtalk Compiler aktualisiert, um Druck Warnungen über fehlende Hinweise auf die & quot vermeiden; expandierenden & quot; und & quot; Überwachung & quot; Einbau-Protokolle, wenn Module als Objekte zu kompilieren.
- , um die Änderungen in der Version 2.39.2 Rückgängig gemacht, die die Pseudo-Objekt & quot erlaubt; user & quot; enthalten praktisch die Definition aller Prolog eingebaute in Prädikate. Dies könnte zu unterschiedlichen Ergebnissen führen auf dem Back-End-Prolog-Compiler abhängig, speziell wenn sie im Kontext von & quot Meta-Prädikate Aufruf; user & quot;.
- ein Fehler in der SWI-Prolog Korrigierte & quot; swihooks.lgt & quot; Datei, die in eine gefälschte Fehlermeldung über einen ungültigen Logtalk Flagge führte, wenn eine Datei Prolog Beratung, wenn es eine Logtalk Quelldatei mit dem gleichen Namen im gleichen Verzeichnis ist.
- hinzugefügt fehlende Unterstützung für proprietäre integrierte in meta-Prädikate zum B-Prolog, SICStus Prolog, SWI-Prolog, XSB und YAP-Konfigurationsdateien.
- Aktualisiert die SICStus Prolog, SWI-Prolog und YAP-Konfigurationsdateien, um die Meta-Prädikat-Vorlagen für die konsultieren / 1 und load_files / 2 eingebaute in Prädikate außer Kraft zu setzen.
- hinzugefügt eine Implementierung eines map_reduce / 5 meta-Prädikat in die Bibliothek Objekt & quot; meta & quot;.
- hinzugefügt eine Implementierung eines command_line_arguments / 1 Prädikat zum & quot; cc & quot; Beispiel.
- Aktualisiert die & quot; lambdas & quot; und & quot; metapredicates & quot; Beispiele, die zeigen, wie Fibonacci-Zahlen mit einer Falte links Meta-Prädikat zu berechnen. Aktualisiert die & quot; metapredicates & quot; Beispiel mit einem Anwendungsbeispiel des map_reduce / 5 meta-Prädikat.
- Aktualisiert die & quot; problog & quot; Beispiel das Hinzufügen vorläufige Unterstützung für die neue kommentierte Disjunktionen Syntax.
- Es wurde ein & quot; Magie & quot; Element zum Logtalk Mime-Typ-Datei für die mime-info Datenbank freedesktop.org geteilt.
Was ist neu in der Version 2.42.0:.
- eine Implementierung von persistenten Objekt-Flags hinzugefügt
- Es wurde eine neue Paar eingebaute in Prädikate, conforms_to_protocol / 2-3, die transitive Schließung der Protokollimplementierung Beziehung zu implementieren.
- hinzugefügt eine experimentelle Richtlinie, Anmerkung / 1, für die Unterstützung Logtalk Integration mit anderen Sprachen wie ProbLog und CHR.
Kommentare nicht gefunden