sitelogo
retract/1

retracts from the database the clauses which are unifiable with the argument.

retract(+Clause)

retract/1 retracts the first clause from the database which is unifiable with Clause . If Clause is an atom or compound term whose principal functor is different from ':-'/2 then Clause is the head and 'true' is the body of the clause.
If Clause is a compound term whose principal functor is ':-'/2 then the left side (1st argument) of ':-' is the head and the right side (2nd argument) the body of the clause.

By backtracking it's possible to remove all clauses from the database, which are unifiable with Clause.

Arguments

Clause              atom or compound term

Examples

Assume that the database contains the clauses:
      colour(blue).
      colour(yellow).
      colour(blue,yellow,green).
      add(X,Y,Z) :- Z is X+Y.
      f(a).
      f(a) :- b.
retract(f(a)). Succeeds. The database contains now the clauses:
colour(blue).
colour(yellow) :- true.
colour(blue,yellow) :- green.
add(X,Y,Z) :- Z is X+Y.
f(a) :- b.

Standard

This predicate is part of the ISO-Prolog Standard.

See also

asserta/1, assertz/1, abolish/1, collect/3, load/1, unload/1, load/1/2, retractall/1.


Up read on...
scroll to top managed with ubiCMS