Retracts a clause for an object dynamic predicate. On backtracking, the predicate retracts the next matching clause.
When the predicate indicator for
Head is declared in a
uses/2 or use_module/2 directive,
the clause is retracted in the referenced object or module. When the
backend Prolog compiler supports a module system, the predicate
argument can also be module qualified.
This method may be used to retract clauses for predicates that are not declared dynamic for dynamic objects provided that the predicates are declared in this.
Modes and number of proofs¶
retract(+clause) - zero_or_more
Headis a variable:
Headis neither a variable nor a callable term:
Name/Arity, is that of a private predicate:
permission_error(modify, private_predicate, Name/Arity)
Name/Arity, is that of a protected predicate:
permission_error(modify, protected_predicate, Name/Arity)
Name/Arity, is that of a static predicate:
permission_error(modify, static_predicate, Name/Arity)
Name/Arity, is not declared: