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]).