Auf den Computern im Berlin-Pool (Raum III.212, Rechnernamen mitte, kudamm usw.) ist SWI-Prolog in der Version 5.10.2 installiert. Um swi-prolog zu starten, loggen Sie sich in einen der Rechner ein, starten eine Befehlskonsole und geben swipl ein. Daraufhin sollte folgende Eingabeaufforderung erscheinen:
% library(swi_hooks) compiled into pce_swi_hooks 0.00 sec, 3,856 bytes Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 5.10.2) Copyright (c) 1990-2010 University of Amsterdam, VU Amsterdam SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Please visit http://www.swi-prolog.org for details. For help, use ?- help(Topic). or ?- apropos(Word). ?-
(Ausgaben des Prolog-Interpreters sind hier blau dargestellt.) Jetzt können Sie Anfragen an das Prolog-System stellen. Anfragen enden mit einem Punkt (.), dadurch lassen sich auch Anfragen über mehrere Zeilen verteilen:
?- X is 2 + 4,| Z is X - 10.X = 6, Z = -4.
Um ein Programm in den Prolog-Interpreter zu laden, benutzen Sie die Anfrage
?- [datei].
bzw.
?- consult(datei).
SWI-Prolog versucht daraufhin, die Datei "datei.pl" aus dem aktuellen Verzeichnis zu laden. Falls diese nicht existiert, wird nach "datei" gesucht. Sie können einen beliebigen Dateinamen angeben, wenn Sie ihn in Apostrophen einschließen:
?- consult('diese Datei heißt anders').
Das aktuelle Verzeichnis können Sie sich mit pwd. anzeigen lassen und mit cd('Unterverzeichnis'). in ein anderes Verzeichnis wechseln.
?- emacs.
aufrufen. Insbesondere verfügt dieser emacs über farbige Syntax-Hervorhebung und automatische Einrückung, außerdem können Sie im Menü "Compile/Compile Buffer" das aktuelle Programm in den Interpreter laden.
können Sie einen Hilfe-Browser starten, mit?- help.
Hilfe zu einem bestimmten Thema anfordern. Mit?- help(thema).
können Sie die Hilfeseiten nach dem Begriff thema durchsuchen:?- apropos(thema).
?- help(apropos).apropos(+Pattern) Display all predicates, functions and sections that have Pattern in their name or summary description. Lowercase letters in Pattern also match a corresponding uppercase letter. Example: ?- apropos(file). Display predicates, functions and sec- tions that have `file' (or `File', etc.) in their summary description.
Mit Strg+D kommen Sie wieder in den normalen Modus zurück.?- [user].|: gerade([]).|: gerade([_, _ | Rest]):-|: gerade(Rest).|: % user://1 compiled 0,00 sec, 512 bytes true.
Damit wird automatisch der Debug-Modus aktiviert, die Eingabeaufforderung lautet deshalb?- trace(gerade).% gerade/1: [call,redo,exit,fail] true. [debug] ?- gerade([a,b,c]).T Call: (6) gerade([a, b, c]) T Call: (7) gerade([c]) T Fail: (7) gerade([c]) T Fail: (6) gerade([a, b, c]) false.