Schreibbefehle
write(+Term) schreibt Term auf die Standardausgabe (normalerweise Bildschirm)
writeq(+Term) schreibt Term schön auf die Standardausgabe
portray_clause(+Term) schreibt Term noch schöner auf die Standardausgabe
tell(+SrdDst) macht Datei SrdDst zur Standardausgabe, d.h. die write und writeq wird dorthin umgeleitet
told hebt die Umleitung von tell/1 wieder auf
tab(Anzahl) schreibt Anzahl Leerzeichen
AtomModifizierung
concat(A,B,C) konkateniert Atome A+B=C, Beispiel: concat(X,en,gehen) => X = geh
atom_concat(A,B,C) wie concat
concat_atom(Liste, Atom) generiert ein Atom aus einer Liste, Beispiel : concat_atom([g,e,h,e,n],X) => X = gehen
Prädikat =.. [Funktor|Argumente] konvertiert das Prädikat in eine Liste, wobei der Funktor das Kopfelement der Liste ist und die Argumente die weiteren Elemente.
Beispiel: append(a,b,X) =.. [Funktor|Argumente] => Funktor = append, Argumente = [a,b,X]
Steuerung der Auswertung
var(X) liefert true, falls X eine Variable ist
fail lässt das Prädikat scheitern
true lässt das Prädikat gelingen
Bedingung > DannFall; SonstFall lässt sich Bedingung beweisen, beweise DannFall, andernfalls beweise SonstFall
call(Goal) ruft Goal so in der Datei auf als ob auf ? Prompt geschrieben
assert(Prädikat) fügt auf dem ? Prompt aufgerufen Prädikat zur Datenbank hinzu (so als wenn es in Datei geschrieben worden wäre und mittels consult/1 geladen)
setof siehe Folie 221
findall siehe Folie 222
Listen
sort(+List,Sortiert) sortiert die Liste, dabei werden Duplikate entfernt
msort(+Liste,Sortiert) sortiert Liste ohne Duplikate zu entfernen
length(Liste,Laenge) liefert die Länge der Liste in Laenge
append(A,B,C) konkateniert Liste A mit B und speichert das Ergebnis in C
reverse(A,B) dreht Liste A um und speichert das Ergebnis in B
Module
: module("name",["exportierte Prädikate"]) muss am Kopf eines Moduls stehen
: use_module(Moduldateiname) lädt das Modul, dass sich in Moduldateiname befindet
© Copyright 2026 ExpyDoc