directive
discontiguous/1
Description
discontiguous(Name/Arity)
discontiguous((Name/Arity, ...))
discontiguous([Name/Arity, ...])
discontiguous(Name//Arity)
discontiguous((Name//Arity, ...))
discontiguous([Name//Arity, ...])
Declares discontiguous predicates and discontiguous grammar rule non-terminals. The use of this directive should be avoided as not all backend Prolog compilers support discontiguous predicates.
Warning
Some backend Prolog compilers declare the atom discontiguous
as
an operator for a lighter syntax. But this makes the code non-portable
and is therefore a practice best avoided.
Template and modes
discontiguous(+predicate_indicator_term)
discontiguous(+non_terminal_indicator_term)
Examples
:- discontiguous(counter/1).
:- discontiguous((lives/2, works/2)).
:- discontiguous([db/4, key/2, file/3]).