SWI Prolog ignores non-contiguous predicate

I am trying to figure out how to correctly use a predicate discontiguous/1in (SWI) Prolog.

Let buumi.plis a small file of pseudo-facts:

discontiguous(buumi/1).

buumi(eins).
buri(zwei).
buumi(drei).

Execution swipl -s Buumi.plhowever still gives this warning:

% swipl -s Buumi.prolog
Warning: [...]/Buumi.prolog:5:
        Clauses of buumi/1 are not together in the source-file

The documentation is pretty vague and just indicates

discontiguous :PredicateIndicator, ...

but does not provide a concrete example on how to use it. I found several examples that suggest that I use them correctly; at least swipl does not complain, but again, he does not comply with my request. What am I doing wrong here?

+3
source share
1 answer

discontiguous/1is an ISO directive. You must specify it as

:- discontiguous(pred/2).

at the beginning of the Prologue text.

+7
source

All Articles