SWI Prolog
Aus StudyWiki
Inhaltsverzeichnis |
[bearbeiten] Installation unter debian (Ubuntu repos)
aptitude install swi-prolog swi-prolog-xpce
Starten kann man prolog mit
$ prolog
oder im Grafischen modus
$ xpce
[bearbeiten] Session log
Um die ganze session in eine Datei zu loggen, kann man folgendes eingeben unter verwendung von protocol/1 und noprotocol/0:
?- protocol('mylog.txt').
[bearbeiten] Programm laden
Um ein Programm zu laden, einfach das Programm in ein file mit der endung .pl speichern (test.pl) und anschliessend folgendes in der Prolog shell eingeben (Shell muss im gleichen ordner ausgeführt werden wie die abgespeicherte Datei):
?- [test].
Wenn die Datei eine andere endung hat, z.B. .pro, kann das file mit folgendem Befehl geladen werden
?- consult('meineDatei.pro').
[bearbeiten] tracing
?- trace.
oder im xpce mode gibts auch ein schönes GUI
?- guitracer.
danach kann man normal trace. benutzen und die Ausgabe erfolgt in einem GUI
[bearbeiten] editor
Im XPCE modus, kann man mit
?- emacs.
einen mini emacs GUI laden
[bearbeiten] Stack size
Um den Global Stack auf 500 MB zu erhöhen
$ prolog -G500m
Local Stack
-L500m
Dies geht warscheinlich nur mit einem 64-Bit System, laut aussagen von anderen ist das Maximum bei 32-Bit Systemen bei 128 MB
[bearbeiten] Hints
Damit Retract und Assert funktionieren, müssen die entsprechenden Prädikate, die retracted oder asserted werden als "dynamic" deklariert werden. z.B.: Im File ganz oben folgende Zeile einfügen:
:-dynamic here/1, location/2, have/1, turned_off/1, turned_on/1,door/3.
wobei here ein Prädikat ist und 1 die anzahl übergebenen variablen
