Hello the warning message tells you that the third clause is ignored (because it is discontinuous)
> On 8 Feb 2023, at 10:19, one_of_us <[email protected]> wrote: > > Hello! > My name is Pavel. > Thank you very much for so pretty gprolog! > I have found some strange feature: > --- > > o@Kiki:~/prolog$ gprolog > GNU Prolog 1.5.0 (64 bits) > Compiled Jan 8 2023, 18:49:30 with gcc > Copyright (C) 1999-2023 Daniel Diaz > > | ?- [user]. > compiling user for byte code... > x(a, a). > x(b, a). % Here is all good. > y(a, a). > end_of_file. > user compiled, 3 lines read - 384 bytes written, 23325 ms > > (1 ms) yes > | ?- x(b, A). > > A = a > > (1 ms) yes > | ?- halt. > > o@Kiki:~/prolog$ gprolog > GNU Prolog 1.5.0 (64 bits) > Compiled Jan 8 2023, 18:49:30 with gcc > Copyright (C) 1999-2023 Daniel Diaz > > | ?- [user]. > compiling user for byte code... > x(a, a). % For some reason > y(a, a). % there is an error > x(b, a). % in this order. > user:3: warning: discontiguous predicate x/2 - clause ignored > end_of_file. > user compiled, 3 lines read - 313 bytes written, 38895 ms > > (1 ms) yes > | ?- x(b, A). > > no > | ?- halt. > > --- > That's my fault or gprolog's bug? > Good bye! > >
