Jekejeke Prolog

Jekejeke Prolog
Jekejeke Prolog
Jekpro.png
Entwickler XLOG Technologies GmbH
Aktuelle Vorabversion 0.9.1
(4. Oktober 2011)
Betriebssystem Plattformunabhängig
Programmier­sprache Java
Kategorie Prolog
Deutschsprachig Nein
Jekejeke Homepage

Jekejeke Prolog ist eine reine Interpreter-Implementation von Prolog, die 100 % in Java geschrieben wurde. Der Interpreter existiert in zwei Ausprägungen. Die Laufzeitbibliothek liefert einen einbettbaren Prologinterpreter ohne irgendeine Benutzerschnittstelle. Die Entwicklungsumgebung liefert eine Konsoleschnittstelle, über die Entwickler Prolog Texte ausführen und debuggen können.

Die Implementation der Sprache hält sich im Wesentlichen an den ISO Core Standard[1]. Die Implementation verfügt auch über eine Anwendungsprogrammierschnittstelle. Es ist möglich Prolog Anwendungen zu schreiben, die fremde Java Prädikate benutzen und Gebrauch von Mehrfädigkeit machen. Solche Anwendungen können weitgehend schon in der Entwicklungsumgebung getestet werden, bevor sie unabhängig davon mit der Laufzeitbibliothek eingesetzt werden.

Merkmale

Seit Ausgabe 0.9.0 verfügt Jekejeke Prolog über Echtzeit-Klauselindizierung[2] über mehrere Argumente. Dadurch ändert sich die Ausführung von Prädikaten fundamental. Prädikate die in normalem Prolog nicht-deterministisch sind werden plötzlich deterministisch. Hier ist ein Beispiel, man nehme folgenden Prologtext:

 map_eq([],[]).
 map_eq([X|Y],[Z|T]) :- X=Z, map_eq(Y,T).

Die meisten Prologsysteme, die Indizierung auf dem ersten Argument verwenden, werden folgende Anfrage deterministisch beantworten:

 ?- X=[1,2], map_eq(X,Y).
 Y=[1,2]

Aber nur wenige Prologsysteme, die mehrere Indexe bewältigen, werden folgende Anfrage auch deterministisch beantworten:

 ?- Y=[1,2], map_eq(X,Y).
 X=[1,2]

Echtzeit-Klauselindizierung zwingt den Endbenutzer nicht dazu die verschiedenen Indexe zu deklarieren. Die Indexe werden durch die Aufrufmuster zur Laufzeit automatisch bestimmt.

Einzelnachweise

  1. Compliance. Table of Contents. Abgerufen am 20. November 2011 (englisch).
  2. Benchmark. Table of Contents. Abgerufen am 20. November 2011 (englisch).

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Prolog (Programmiersprache) — Prolog Paradigmen: logisch, deklarativ, oft auch constraintbasiert Erscheinungsjahr: 1972 Designer: Alain Colmerauer Entwickler: Philippe Roussell …   Deutsch Wikipedia

  • Comparison of Prolog implementations — The following Comparison of Prolog implementations provides a reference for the relative feature sets and performance of different implementations of the Prolog computer programming language. Contents 1 Main features 2 Operating system and Web… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”