This Prolog compile directive declares that for one or more clauses only one solution will be found. After a solution is found the inference stack is removed.
see also: external_class/2 predicate indicators discontiguous/1 ensure_loaded/1 include/1 initialization/1 multifile/1 private/0 private/1 public/0 public/1
| Examples | |
| not_redo( [prove / 1, prove / 2]). | only one solution for the predicates prove/1 and prove/2 will be found. |
| Exceptions | |
| first argument is a variable | an instantiation_error. exception is thrown |
| first argument is a list or an empty list | a type_error(atom, Argument) exception is thrown |
| see predicate indicator for more possible exceptions | |