mode(Mode, Number_of_solutions)
Most predicates can be used with several instantiations modes. This directive enables the specification of each instantiation mode and the corresponding number of solutions (not necessarily distinct). You may also use this directive for documenting grammar rule non-terminals.
mode(+predicate_mode_term, +number_of_solutions) mode(+non_terminal_mode_term, +number_of_solutions)
:- mode(append(-, -, +), zero_or_more). :- mode(append(+list, +list, -list), zero_or_one). :- mode(var(@term), zero_or_one). :- mode(arg(-, -, +), error).