[ Predicate Database and Compiler | Reference Manual | Alphabetic Index ]
discontiguous(++SpecList)
Declares the procedure(s) specified by SpecList as discontiguous
- SpecList
- term of the form Atom/Integer, or a comma-separated sequence of such terms, or a list of such terms
Description
The discontiguous declaration specifies that clauses for the declared
predicate need not be together (contiguous) in the source file which contains
them, but can be interleaved with clauses for other predicates. All clauses
must be in a single file, though.
A discontiguous declaration must textually occur in the same file and before
any clauses for the predicate. Multiple discontiguous declarations for the
same predicate are silently accepted.
Modes and Determinism
Modules
This predicate is sensitive to its module context (tool predicate, see @/2).
Exceptions
- (4) instantiation fault
- SpecList or a component of it is not instantiated.
- (5) type error
- SpecList is instantiated, but not to a sequence or list of expressions of the form Atom/Integer.
- (65) procedure already defined
- SpecList specifies a predicate which is already defined
Examples
[eclipse 1]: [user].
:- discontiguous(p/1).
p(a).
q(1).
p(b).
user compiled traceable 220 bytes in 0.02 seconds
yes.
See Also
compile / 1