Logtalk

Screenshot der Software:
Logtalk
Softwarebeschreibung:
Version: 2.44.1
Upload-Datum: 14 Apr 15
Entwickler: Paulo Moura
Lizenz: Frei
Popularität: 1

Rating: nan/5 (Total Votes: 0)

Logtalk ist ein Open Source objektorientierte Erweiterung der Programmiersprache Prolog. Die Integration von Logikprogrammierung mit der objektorientierten und ereignisgesteuerte Programmierung, ist es mit den meisten Prolog-Compiler kompatibel.
Logtalk unterstützt sowohl Prototypen und Klassen. Darüber hinaus unterstützt es die komponentenbasierte Programmierung durch Kategorie basierende Zusammensetzung

Eigenschaften .

  • Trennung zwischen Schnittstelle und Implementierung:
  • Prädikat Richtlinien (Erklärungen) kann innerhalb Protokolle (Schnittstellen), die von einem Objekt durchgeführt werden können enthalten sein.

  • Parametrische Objekte:
  • Objektnamen können zusammengesetzte Begriffe mit freien Variablen, die verwendet werden können, um Objektprädikate parametrieren können.

  • Support sowohl für klassenbasierte und Prototyp-basierte Systeme:
  • Sie haben, in der gleichen Anwendung, klassenbasierten Hierarchien (mit Instanziierung und Spezialisierung Beziehungen) und Prototyp-basierte Hierarchien (mit Erweiterungsbeziehungen).

  • Unterstützung für mehrere Objekthierarchien:
  • Keine Notwendigkeit, zu einer einzigen langen Hierarchie in einigen generisches Objekt verankert eingeschränkt werden.

  • Privat, geschützt und öffentliche Vererbung:
  • Logtalk unterstützt private, protected und öffentlichen Erbe in einer Weise ähnlich zu C. Darüber hinaus kann jede Einheit Beziehung mit einem Umfang Stichwort qualifiziert werden.

  • Privat, geschützt und öffentlichen Objekt Prädikate:
  • Stellen Sie den Umfang Ihrer Objektprädikate auf Ihre Protokolldesign entsprechen, und lassen Sie das Laufzeitsystem durchzusetzen Ihre Wahl.

  • Statische und dynamische Objekte:
  • Objekte können entweder statisch oder dynamisch sein. Statische Objekte werden in der Quelldateien, die kompiliert und in der gleichen Weise wie Prolog geladenen Dateien definiert. Dynamische Objekt kann entweder im Quelldateien definiert oder geschaffen werden zur Laufzeit.

  • Statische und dynamische Objekt Prädikate:
  • Jede statisches Objekt können sowohl statische als auch dynamische Prädikate enthalten.

  • Ein Pre-Prozessor, so dass wir Standard-Prolog-Syntax verwenden:
  • verwendet Logtalk Standard Prolog-Syntax mit dem Zusatz von wenigen Betreibern und Richtlinien für einen reibungslosen Lernkurve.

  • Ereignisgesteuerte Programmierung:
  • Prädikate können implizit aufgerufen werden, wenn ein ausspioniert Ereignis eintritt, so dass Programmierlösungen, die Gegenstand Kopplung zu minimieren. Darüber hinaus bieten Veranstaltungen Unterstützung für Verhaltensreflexion.

  • Komponentenbasierte Programmierung:
  • Prädikate kann innerhalb Kategorien, die praktisch von jedem Objekt importiert werden kann verkapselt werden, ohne Code-Duplizierung und unabhängig von Objekthierarchien. So können Gegenstände durch Zusammensetzung der Kategorien, die als feinkörnige Einheiten Code der Wiederverwendung handeln definiert werden.

  • Multi-Erbe-Unterstützung:
  • Logtalk unterstützt Multi-Erbe sowohl Protokoll und Implementierung. Ein Objekt kann mehrere Protokolle zu implementieren und zu erweitern, spezialisieren oder mehrere Objekte instanziieren. Multi-Vererbung Konflikte werden implizit durch die Logtalk Lookup-Algorithmen oder explizit mit Prädikat Richtlinien gelöst.

  • Gute Performance:
  • Logtalk Code kompiliert unter Verwendung der gleichen Technik, die Sie verwenden, um eine effiziente Prolog Code zu schreiben. Darüber hinaus werden Verfahren Lookups von der Logtalk Laufzeitmaschine zwischengespeichert, steigert die Leistung. Benchmark-Ergebnisse für einige Prolog-Compiler finden Sie hier.

  • Die enge Integration mit dem ISO-Prolog Standard:
  • Logtalk ist für eine reibungslose Integration mit jedem Prolog-Compiler, die übereinstimmt oder sich eng an die ISO-Prolog Norm ausgelegt.

  • Kompatibel mit den meisten Prolog-Compiler:
  • Logtalk Schnittstellen mit einem bestimmten Prolog-Compiler über eine minimale Konfigurationsdatei ist damit kompatibel mit fast jedem modernen Compiler.

  • Automatische Generierung von XML-Dokumentationsdateien:
  • Logtalk generiert automatisch eine Dokumentationsdatei im XML-Format für jede kompilierte Objekt, Protokoll oder Kategorie. Das System enthält alle erforderlichen XSL (T) Dateien und Skripte zum Konvertieren dokumentieren Dateien (X) HTML und PDF.
  • Logtalk läuft auf fast jedem Computer mit einem Prolog-Compiler (der Hauptentwicklungsumgebung ist ein Apple Powerbook G4 mit MacOS X). Die Schnittstelle zwischen Logtalk und einer spezifischen Prolog Kompilierer wird über eine Konfigurationsdatei durchgeführt.
  • Diese Datei enthält einige Logtalk bestimmten Prädikaten und Implementierungen für ISO Prolog Standard Prädikate nicht in der Prolog-Compiler.

  • Beim Schreiben Logtalk Ich habe versucht, den Prolog ISO-Standard folgen, wann immer möglich. Fähigkeiten, die von Logtalk benötigt, die nicht im Teil I der ISO-Norm definiert sind:

  • Zugriff auf die Eigenschaften (dynamische, statische, built_in) Prädikat:
  • Sofern Sie Ihre Lieblings Prolog hat diese oben genannten Möglichkeiten, so dass eine Konfigurationsdatei ist sehr einfach. Die Logtalk Paket beinhaltet bereits Konfigurationsdateien für die gängigsten Prolog-Compiler. Für eine optimale Leistung Logtalk erfordert, dass der Prolog-Compiler unterstützt First-Argument Indizierung für statische und dynamische Code.

  • Logtalk Entwicklung und Test ist derzeit unter Verwendung der folgenden Prolog-Compiler (in alphabetischer Reihenfolge):
  • GNU Prolog 1.2.18
  • SWI Prolog 5.4.7
  • YAP 4.5.7
  • Aus diesem Grund sind diese wahrscheinlich die beste Wahl für den Betrieb Logtalk (vorausgesetzt, Sie sind frei, eine dieser Compiler verwenden).

  • Außerdem läuft Logtalk mit geringen oder keinen Änderungen mit folgenden Prolog-Compiler (in alphabetischer Reihenfolge):
  • ALS Prolog 3.1
  • Amzi! Prolog 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.0x
  • MasterProlog 4.1
  • Öffnen Prolog 1.1b10
  • PrologII 4.5
  • QU-Prolog 6.7
  • Quintus Prolog 3.3 ~ 3.5
  • SICStus Prolog 3.8 ~ 3.12.x
  • XSB 2,6 ~ 2,7

Was ist neu in dieser Pressemitteilung:

  • Modifizierte die Nachricht sendet Mechanismus, um die & quot nennen, vor & quot; Event-Handler vor der Durchführung des Verfahrens Lookup. Diese Änderung sollte sich nicht auf vorhandenen Code haben, aber können einige interessante Anwendungen (zB der eine Ausnahme, wenn eine Nachricht nicht verstanden nicht statt).
  • Weitere konsequente Handhabung der Compiler-Schalter zwischen dem Setzen Flag-Werte bei der Kompilierung / Laden einer Datei und bei der Verwendung der set_logtalk_flag / 2 eingebaute Prädikat: In beiden Fällen ist die Einstellung der & quot; smart_compilation & quot; Fahne geht aus dem & quot; sauber & quot; Flagge und Einstellung der & quot; sauber & quot; Fahne geht aus dem & quot; smart_compilation & quot; Flagge. Auch die Einstellung der & quot; Debug & quot; Flagge auf erlischt sowohl die & quot; smart_compilation & quot; und & quot; sauber & quot; Fahnen.
  • Ermöglicht dem Soft-Schnitt Kontrollkonstrukt, (* - & gt;) / 2, wenn nativ von der Back-End-Prolog-Compiler unterstützt wird, um im Körper von Grammatikregeln verwendet werden (nach einer Bemerkung von Daniel Diaz bei der Diskussion GNU Prolog Unterstützung für die weiche Unterbrechungssteuerung Konstrukt).
  • eine Logtalk Compiler Bug korrigiert, wenn die & quot; source_data & quot; Flag ein ist mit Back-End Prolog Compilern wo es nicht möglich, die Position eines Lesezeit abzurufen.
  • Es wurde ein Fehler in der Zusammenstellung der meta_non_terminal / 1 Richtlinie, wenn nur der erste Meta-Argument korrekt verarbeitet werden würde.
  • Aktualisiert die Eclipse-Konfigurationsdatei zu erkennen, wenn unter Windows 64-Bit-Systemen laufen und nicht-Prädikat und nicht-Betreiber Exporte zu ignorieren, wenn die Vorverarbeitung lib / 1 Richtlinien.
  • Aktualisiert die Unit-Test-Framework, um informativere Meldungen für gescheitert Unit-Tests zu drucken.
  • Hinzugefügt Prädikat aufgeteilt / 4 (zum Spalten einer Liste in Unterlisten mit einer bestimmten Länge) mit dem & quot; listp & rdquo ;, & quot; & quot ;, Liste 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.
  • Changed die Namen der Objekte in der & quot; mi & quot; Beispiel für einen Namenskonflikt zu vermeiden, bei der Ausführung der beispiels Unit-Tests.
  • Es wurde ein Fehler in der Windows-Installer, die Erkennung von YAP 64 Bit-Versionen verhindert. Dank Stepan Ipatov für den Fehlerbericht.
  • Es wurde ein Fehler in der Windows-Installationsprogramm, das Benutzer das Anpassen der Installationsverzeichnis verhindert. Dank Daniel Moniz zum Fehlerbericht hinzu und Gavin Lambert zur Diagnose des Fehlers.
  • Aktualisiert die Windows-Installationsskript für eine verbesserte Erkennung von XSB und auf Standard, um nur die benutzerspezifischen Dateien, wenn sie von einem Benutzer ohne Administratorrechte auf einem Computer, auf dem Logtalk bereits installiert ist installieren.
  • Hinzugefügt grundlegende Unterstützung für die LaTeX & quot; Liste & quot; Paket. Hinzugefügt Hinweise auf die & quot; geprägt & quot; und & quot; texmates & quot; LaTeX-Pakete.
  • Hinzugefügt Notizen auf dem iPad Textastic Texteditor.
  • Hinzugefügt grundlegende Syntax-Einfärbung und Code-Folding Unterstützung für die UltraEdit.
  • Aktualisiert die Textmate zu bündeln, um die automatischen Einzug Korrekturen in der Entwicklungsversion von Textmate 2.0 eingeführt deaktivieren.

Was ist neu in der Version 2.44.0:

  • Changed die Semantik der ergänzenden Kategorien, damit sowohl das Patchen Prädikat Erklärungen und Definitionen von Prädikats ergänzt Objekte. Dies wird dadurch erreicht, dass Prädikat Deklaration und Definition Lookups beginnen bei der Ergänzung Kategorien bevor sie in das Objekt selbst, ergänzt oder in ihrer verbundenen Unternehmen durchgeführt.
  • Aktualisiert die Logtalk Compiler, um eine Warnung, wenn die Erstellung eines ergänzenden Kategorie für eine ergänzt Objekt, das mit Unterstützung für ergänzende Kategorien erstellt wurde ausgeschaltet zu erzeugen.
  • ein Fehler bei der Verarbeitung von Meta-Aufrufe zur Meta-Prädikate, wo der Aufruf-Kontext würde eingestellt werden & quot korrigiert, das & quot; anstelle von & quot; Absender & quot; wenn ein Meta-Argument war einer der :: / 2, {} / 1,

Was ist neu in der Version 2.43.3:

  • Changed der Compiler Berücksichtigung der Verwendungszwecke / 2 Richtlinie bei der Erstellung Anrufe auf die Reflexion integrierten Methoden. Diese Änderung erweitert die Semantik der Anwendungen / 2-Richtlinie und ermöglicht eine einfachere Migration von Klar Prolog Applikationen Logtalk.
  • Aktualisiert die Umsetzung der predicate_property / 2 integrierte Methode, indem Sie einen Bereich / 1 Immobilien.
  • Aktualisiert die Logtalk Compiler, um Informationen über einen Quelldateinamen, die Quelldatei-Verzeichnis und Quelldatei Compiler-Optionen auf die erzeugten Prolog-Dateien hinzufügen. In früheren Versionen wurde diese Information nur beim Laden einer Quelldatei registriert. Die Änderungen vereinfachen die Erstellung von Anwendungen, wo Logtalk Bibliotheken sind vorkompilierte und vorinstallierten.
  • Aktualisiert die Logtalk-Compiler, um den Namen des Hakens Objekt in der Zusammenstellung der Quelldateien verwendet zu drucken, wenn die & quot; Haken & quot; Compiler-Flag festgelegt.
  • Aktualisiert den integrierten Debugger, um unnötige Wahl Punkte erstellt von Back-End-Prolog-Compiler, dessen zurückzuziehen / 1 Umsetzung scheitert, die Vorteile der logischen Update Semantik Anrufe annehmen deterministisch zu machen zu vermeiden.
  • ein Fehler in der Logtalk Compiler Runtime Handler, wo es versäumt, internen Entity Identifier dekompilieren beim Werfen Einheit Existenz Ausnahmen korrigiert.
  • Aktualisiert die Lean Prolog-Konfigurationsdatei, indem Index / 1 Richtlinien für einige der dynamische Prädikate von den internen Logtalk Laufzeittabellen verwendet.
  • Aktualisiert die SWI-Prolog-Integration-Dateien, um die Verfügbarkeit des Index / 1 Richtlinie, die durch die neue experimentelle SWI-Prolog-Unterstützung für die Just-in-Time-Multi Argument Indizierung veraltet ist zu überprüfen.
  • hinzugekommen Prädikate Folge / 4 (zur Erzeugung von Untersequenzen von einer Liste mit einer bestimmten Länge), zu ersetzen / 4 (für den Ersatz Elemente 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.
  • Korrigiert einige dumme Fehler in der Definition der & 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; meta_compiler_loader.lgt & quot; Loader-Datei, auch die & quot zu laden; Loader-Datei.

Was ist neu in der Version 2.43.1:

  • Changed der Compiler Berücksichtigung der Verwendungszwecke / 2 Richtlinie bei der Erstellung Aufrufe an die Datenbank integrierte Methoden. Diese Änderung erweitert die Semantik der Anwendungen / 2-Richtlinie und ermöglicht eine einfachere Migration von Klar Prolog Applikationen Logtalk.
  • für die Verwendung eines Prädikats Vorlage als Argument an die coinductive / 1 Richtlinie Hinzugefügt experimentelle Unterstützung. Diese Vorlage ermöglicht die Angabe von denen Argumente für coinductive Erfolg sinnvoll. Basierend auf ähnliche Funktionalität auf auf Feliks Kluźniak des DRA Meta-Interpreter gefunden.
  • Verbesserte Unterstützung für das Debugging coinductive Prädikate bei der Verwendung des Logtalk integrierten Debugger.
  • Entfernt coinduction Unterstützung für CxProlog. Die aktuelle Version dieser Compiler fehlt ein Soft-Schnitt eingebauten Prädikat oder Kontrollkonstrukt, das nun durch die experimentelle coinduction Umsetzung 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, wenn die Ziel-Argument kann die ^ / 2 Existenzquantor verwenden.
  • verhindert
  • Unterstützung für die & quot; ^ & quot; Meta-Meta-Prädikat-Argument-Modus-Bezeichner von Jan Wielemaker vorgeschlagen und auf SWI-Prolog 5.11.25 gefunden. Dieser Modus ist nützlich, wenn Bezeichner definieren, Wrapper für die bagof / 3 und SETOF / 3 integrierten Methoden, wenn die Ziel-Argument kann die ^ / 2 Existenzquantor verwenden.
  • hinzugekommen & quot; prolog_compiler & quot; und & quot; prolog_loader & quot; Compiler-Flags, die Weitergabe erlauben Optionen an den Back-End-Prolog-Compiler eingebauten Prädikate, die auf der Festplatte erstellen und laden Sie eine (kompiliert) Prolog Flagge. Der Standardwert für beide Flags ist die leere Liste.
  • Es wurde ein Fehler bei der Kompilierung Anrufe Prolog proprietäre integrierte Meta-Prädikate, wo die Logtalk Compiler könnte versuchen, nicht Meta-Argumente als Ziele zu verarbeiten. Dieser Fehler nur manifestierte sich mit einigen Back-End-Prolog-Compilern wie Eclipse.
  • Es wurde ein Fehler bei der Verarbeitung von Direktiven für die bedingte Kompilierung.
  • einen Bug, der vorbei alias / 3 Richtlinien über Aufrufe an die create_object / 4 verhindert, create_category / 4 und create_protocol / 3 eingebauten Prädikate korrigiert.
  • aus entfernt die eingebaute 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.
  • Es wurde ein Fehler bei der Performance Caching Anrufe Kategorie Prädikate in dem die zwischengespeicherten Einträge könnten spezifischer als notwendig sein, wenn Sie mit parametrischen Kategorien.
  • Verbesserte Zwischenspeicherung von & quot; Super & quot; Anrufe von innerhalb Prototypen. Früher hätte alle zwischengespeicherten Einträge spezialisiert werden durch den Wert von & quot; Selbst & quot; um richtig mit den besonderen Fällen, in denen ein Objekt beide instantiates und ist spezialisiert anderen Objekten umzugehen.
  • Aktualisiert die Logtalk Compiler, alle Betreiber Erklärungen Prädikat Rahmen-Richtlinien finden während der Zusammenstellung der Einheiten, die die Richtlinien enthalten zu aktivieren.
  • Verbesserte die Leistung coinductive Prädikate bei der Verwendung von Back-End-Prolog-Compilern wie SICStus Prolog, die nicht über den Soft-Cut Kontrollkonstrukt, sondern bieten die Soft-Schnitt integrierte Meta-Prädikat (wenn / 3).
  • Ein Fehler, durch eine falsche Bericht der Zusammenstellung / Lade Warnungen kann gedruckt werden, wenn eine Quelldatei kompiliert wurde, werden / mit dem Compiler-Flag & quot geladen korrigiert; Bericht & quot; ausgeschaltet wird.
  • Es wurde ein & 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; beispielsweise die Nutzung der erweiterten coinductive / 1 Richtlinie und Erweiterung der Zahl der Einzelbeispiele, die mit SICStus Prolog ausgeführt werden kann. Es wurde ein Model Checking Beispiel mit coinduction, coroutining und Einschränkungen, von Neda Saeedloei beigetragen.
  • Aktualisiert die & quot; metapredicates & quot; Beispiel mit Beispielcode veranschaulicht, wie man Wrapper für die bagof / 3 und SETOF / 3 integrierten Methoden zu definieren, wenn die Meta-Argument kann existentiell qualifizierten Variablen enthalten.
  • Aktualisiert die & quot; cc & quot; B. Korrektur Prädikat-Definitionen für mehrere Back-End-Prolog-Compiler und das Hinzufügen von ein paar grundlegende Unit-Tests.
  • Aktualisiert die & quot; Codierungen & quot; Beispiel mit begrenzter Unterstützung für Lean Prolog.
  • Hinzugefügt fehlenden Einträge für die meta_non_terminal / 1 Richtlinie und für den Aufruf // N Nicht-Terminal, um die & quot; Hilfe & quot; Beispiel.
  • Hinzugefügt einen Parser für PDDL 3.0-Dateien, von Robert Sasak beigetragen.
  • Added Code-Folding Unterstützung der SubEthaEdit Texteditor. Hinzugefügt Code-Folding Unterstützung für bedingte Kompilierung Blöcke auf die Kate, Vim und Textmate Texteditoren.
  • Aktualisiert die Integration Skripte, um zu laden die Bibliothekspfade vor dem Laden des Logtalk Compiler / Laufzeit einreichen. Diese Änderung zielt darauf ab, Laden von Bibliothek und Beispieldateien aus den Einstellungsdateien zu vereinfachen. Darüber hinaus auch für die Logtalk Installationsverzeichnis in $ HOME / share aussehen, wenn die LOGTALKHOME Umgebungsvariable nicht definiert ist. Dank Um Vator Santos Costa für die Anregung.
  • Aktualisiert die Windows-Installer, um Lean Prolog zu unterstützen und zu erkennen YAP 64 Bit-Versionen.

Was ist neu in der Version 2.43.0:.

  • für Lean Prolog Hinzugefügt experimentelle Unterstützung
  • Geänderte Fehlerberichterstattung durch die Logtalk Compiler und Laufzeit. Alle Ausnahme Bedingungen nun, wenn möglich, der Fehler (Error, Logtalk (Goal, Entity))
  • Format. Verändert die interne Fehlerprüfung, um, wann immer praktisch, die neue '$ lgt_must_be' / 2-3 inneren Prädikate verwenden.
  • wird nun eine & quot; Optimierung & quot; Flagge, deren Standardwert ist & quot; auf & quot ;. Dieses Flag ermöglicht es dem Benutzer zu deaktivieren bestehenden Optimierungen für zB Debugging-Aufgaben (die
  • aktuell implementierten Optimierungen sind die Entfernung von redundanten Anrufe auf true / 0 aus dem Körper zusammen Prädikat Klauseln und die Entfernung von
  • redundante Anrufe (=) / 2 aus dem Körper von Klauseln durch den Ausbau der Grammatikregeln erzeugt wird).
  • Hinzugefügt a & rdquo; source_data & quot; Flagge, deren Standardwert ist & quot; auf & quot ;. Mit dieses Flag gesetzt, um & quot; auf & quot ;, Logtalk die Informationen halten vertreten mit Modus / 2
  • Info / 1-2, verwendet / 2 und use_module / 2 Richtlinien und Quellenort Daten (einschließlich Quelldateinamen und Zeilennummern), nützlich sowohl für die Fehlersuche
  • und für die Integration von Entwicklungstools. Dieses Flag kann abgeschaltet werden, um kompakter Code generieren gedreht werden. Die parameter_names / 1 Objekt und
  • Kategorie Eigenschaft ist erforderlich, um Redundanz zu vermeiden entfernt.
  • Implementiert geschützt / 1 und private / 1 Eigenschaften für Objekte, Protokolle und Kategorien. Zusammen mit dem öffentlichen / 1 Eigenschaft, diese Eigenschaften
  • kann die Liste der Prädikate in der Einheit erklärt, für reflektierende Berechnungen zugegriffen werden. Implementiert erklärt / 2, ist / 2 enthält / 3
  • und liefert / 3-Objekte für den Zugriff auf die Eigenschaften von Prädikaten erklärt und innerhalb eines Unternehmens definiert. Erklärung von Eigenschaften gehören line_count / 1, die Zeilennummer des Prädikats Umfang Richtlinie. Definition Eigenschaften gehören line_count / 1, die Zeilennummer der Kopf des ersten
  • Klausel für das Prädikat und number_of_clauses / 1, die Anzahl der Klauseln für das Prädikat. Außerdem implementiert experimentelle Anwendungen / 3 und use_module / 3 Eigenschaften.
  • Es wurde ein Prädikateigenschaft, redefined_from / 1, so dass die Abfrage über das Objekt oder die Kategorie, die ein Prädikat-Definition, die neu definiert wird, enthält.
  • Es wurde ein loaded_file / 3-Prädikat auf die & quot; Logtalk & quot; eingebaute Objekt, das die bestehenden loaded_file / 2 Prädikat ergänzt und ermöglicht den Zugriff auf die

  • Verwendet
  • explizite Optionen, wenn die Datei erstellt und geladen werden.
  • Implementiert Compiler-Unterstützung für die meta_non_terminal / 1 Richtlinie und der Aufruf // N integrierte Nicht-Terminal.
  • Vereinfachte die Erstellung von Grammatikregeln, indem Sie die Unterstützung für den Umgang mit nicht-terminalen Umfang und die Existenz Fehler an der Grammatikregel
  • Ebene statt des Prädikats Ebene. Obwohl diese Funktion hilfreich sein könnte bei der Fehlersuche Grammatikregeln, erschwert es die Integration von Logtalk mit Prolog-native Entwicklungstools.
  • Aktualisiert die Logtalk Compiler, um die Einheit Klausel Standorten zu sparen und diese Informationen an die Back-End-Prolog-Compilern.
  • Aktualisiert die Logtalk Compiler um zu vermeiden, erzeugen unnötige interne catchall Klauseln für das Prädikat Deklaration und Definition Tabellen für dynamische Unternehmen.
  • Aktualisiert die Logtalk Compiler, um auszuschließen Verwendung multifile Prädikate für das Brechen Objektkapselung. Eine primäre Erklärung
  • Einheit muss vorhanden sein, sowohl einen Umfang und eine multifile Richtlinie für das Prädikat enthält. Darüber hinaus definieren Klauseln für eine multifile
  • Entity :: Functor / Arity ohne eine entsprechende multifile / 1 Richtlinie wird nun in einem Fehler, anstatt einfach eine Warnung Zusammenstellung führen.
  • Entfernt die Logtalk Compiler Einschränkung, dass nicht zusammenhängende / 1 und dynamische / 1 Richtlinien gezwungen, Anrufe zu den erklärten Prädikate vorangestellt werden.
  • Verbesserte die Logtalk Compiler Bericht misspelt Anrufe an Nicht-Terminals in Grammatikregeln.
  • Lassen Sie die Nutzung des. / 1 ​​Steuer bauen auf den Körper von Grammatikregeln
  • Wenn Debugging-Meldungen in Anwendungen / 2-Richtlinien festgelegt, wird die Nachricht jetzt gedruckt implizit qualifiziert wie im Quellcode vom Benutzer geschrieben.
  • Changed die inneren Prädikate in der Umsetzung der integrierten Multi-Threading-Prädikate, um die Integration zu erleichtern verwendet
  • High-Level-Debugging-Tools, die Dekompilierung des erzeugten Prolog-Code.
  • Es wurde ein Fehler in Logtalk 2.42.4 über die Erstellung von Unternehmens-Prädikate, die synchronisiert Prädikaten nennen eingeführt. Dieser Fehler führte zu Anrufen
  • wobei anstelle der nichtsynchronisierten Formen der Prädikate, die in Zufallsfehler der Gewinde Ziele manifestieren würde hergestellt.
  • Korrigiert ein langjähriger Bug, bei dem ein Laufzeit kompiliert Metaruf innerhalb einer Kategorie wäre als ein Anruf zu einem Prädikat des Objekts
  • kompiliert werden
  • statt Import der Kategorie als Aufruf zu einer lokalen Kategorie Prädikat.
  • Korrigiert ein langjähriger Bug, bei dem Unternehmen Flag-Werte lokal mit dem set_logtalk_flag gesetzt / 2 Richtlinie würde nicht in die Einheit eingespart werden
  • kompilierten Code.
  • Korrigiert ein seit langem bekannter Fehler, wenn eine dynamische Prädikat in einem nicht-Prototyp-Objekt, wo die Abschaffung / 1 Verfahren abschaffen würde ohne Erfolg
  • das Prädikat wird tatsächlich abgeschafft.
  • Ein Fehler wurde korrigiert bei der Festlegung der richtigen Ausführungskontext beim Aufruf einer Meta-Argument, das eine Laufzeit-Zusammenstellung im Zusammenhang mit
  • benötigt
  • & quot; Sender & quot;.
  • Es wurde ein Fehler in der Zusammenstellung der expliziten qualifizierte Anrufe an meta-Prädikate in der das Modul Qualifikation würde aus dem
  • gelöscht werden Modul
  • zusammengestellt Anruf. Beachten Sie, dass diese Anrufe werden Logtalk Meta-Prädikat Semantik verwenden (dh die Meta-Argumente werden in Zusammenhang mit der
  • aufgerufen werden
  • Anrufer) statt der üblichen Prolog Modul Meta-Prädikat Semantik.
  • ein Fehler behoben, durch den coinduction Stapel nicht, wenn Sie die
  • initialisiert wurde korrigiert

Was ist neu in der Version 2.42.4:

  • Diese Version enthält Compiler, Laufzeit und Mehr Gewinde Performance-Optimierungen verbessert Compiler Fehlermeldungen für die synchronisierte / 1 und dynamische / 1 Richtlinien, fügt Unterstützung für die Erhaltung der Betreiber Umfang Informationen und zur Ausgabe diese Informationen an die automatisch generierte XML-Dateien dokumentiert, fügt neue Dienstprogramm Prädikate auf die Logtalk Objekt, verbessert die mehrere Programmier Beispiele enthält einen Workaround für einen SWI-Prolog Deinstallations Bug unter Windows und bietet Portierbarkeit Updates für Qu-Prolog, SICStus Prolog, SWI-Prolog, XSB und YAP.

Was ist neu in der Version 2.42.3:

  • Diese Version bietet Unterstützung für den Aufruf dynamische Prädikate in der Rahmen & quot; Dieses & quot; aus Kategorien, fügt Unterstützung für vorkompilierte Klausel Köpfe enthält Bugfixes und Verbesserungen an den integrierten Debugger, enthält verbesserte Bibliotheken und Beispiele, fügt Unterstützung für indexicals bei Verwendung des SICStus Prolog CLP (FD) Bibliothek, fügt ein experimentelles Beispiel Verwendung zurückzuführen Variablen in Objekte und Klassen und ist ausgestattet Portabilität Updates für Eclipse, GNU Prolog, SICStus Prolog und SWI-Prolog.

Was ist neu in der Version 2.42.2:

  • Diese Version verbessert die Zusammenstellung von Anrufen an Prädikate Modul , verbessert die Kontrolle der Meta-Argumente in meta-Prädikat Anrufe, verbessert die Unterstützung für Lambda-Ausdrücke, enthält einen optimierenden Compiler für Anrufe in Bibliothek Meta-Prädikate, fügt neue Bibliotheken für die Protokollierung von Ereignissen, die Arbeit mit zeitlichen Abstand Beziehungen und mit Integer-Zähler, verbessert bestehende Beispiele und Bibliotheken, fügt Unterstützung für die Verwendung der JavaScript-basierte Syntax Paket und bietet Updates für Portabilität GNU Prolog, Qu-Prolog, SICStus Prolog, SWI-Prolog und XSB.

Was ist neu in der Version 2.42.1:

  • Diese Version bietet Unterstützung für neue Meta-Prädikat-Modus Indikatoren, so dass die Unterstützung für mehrere Prolog proprietäre integrierte Meta-Prädikate.
  • Unterstützung für das Erfassen und Melden fehlen dynamisch / 1 und nicht zusammenhängende / 1 Richtlinien aufgenommen.
  • Eine neue lint Flagge wurde hinzugefügt.
  • Zwei Bugs Meta-Prädikat Zusammenstellung wurden korrigiert.
  • Einige der Beispiele wurden aktualisiert.
  • Portabilität Updates wurden für B-Prolog, SICStus Prolog, SWI-Prolog, XSB und YAP werden.

Andere Software von Entwickler Paulo Moura

Logtalk
Logtalk

11 Mar 16

Kommentare zu Logtalk

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!